พร็อกซีบริการ SOAP

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

สิ่งที่คุณจะได้เรียนรู้

ในบทแนะนำนี้ คุณจะได้เรียนรู้สิ่งต่อไปนี้

  • สร้างพร็อกซี API ของ Edge จากไฟล์ WSDL
  • ทราบความแตกต่างระหว่างพร็อกซี SOAP แบบ RESTful กับพร็อกซี SOAP แบบ Pass-Through

ในบทแนะนำนี้ คุณจะได้เรียนรู้วิธีวางพร็อกซี API ของ Edge ไว้หน้าเว็บเซอร์วิสที่อิงตาม SOAP

บทแนะนำนี้แสดงวิธีสร้าง RESTful API ใหม่ไว้หน้าบริการที่อิงตาม SOAP แม้ว่าจะไม่ได้อธิบายรายละเอียดไว้ที่นี่ แต่คุณยังสร้างพร็อกซีแบบ Pass-Through ที่ยอมรับเพย์โหลด SOAP และส่งเพย์โหลดนั้นไปยังบริการแบ็กเอนด์ได้ด้วย

สิ่งที่คุณต้องมี

การสร้างพร็อกซี

ในส่วนนี้ คุณจะได้ให้ Edge สร้างพร็อกซีที่จะอยู่หน้าบริการ SOAP พร็อกซี API ของ SOAP มี 2 ประเภท ได้แก่

  • พร็อกซีประเภท REST-SOAP-REST จะสร้าง RESTful API ใหม่ที่มีเลเยอร์การแปล เป็น SOAP ไคลเอ็นต์จะเรียกพร็อกซีนี้เหมือนกับเรียก RESTful เซอร์วิสอื่นๆ โดยส่งพารามิเตอร์การค้นหา ที่บริการแบ็กเอนด์ต้องการ Edge จะแปลพารามิเตอร์นี้เป็นเพย์โหลด SOAP ที่บริการคาดหวัง
  • พร็อกซีประเภท Pass-Through Proxy ช่วยให้ไคลเอ็นต์ส่งเพย์โหลด SOAP ได้อย่างง่ายดาย วิธีนี้ช่วยให้การเรียกบริการ SOAP ได้รับประโยชน์จากฟีเจอร์การจัดการของ Edge

Edge

วิธีพร็อกซีบริการ SOAP โดยใช้ UI ของ Edge

  1. ลงชื่อเข้าใช้ apigee.com/edge
  2. เลือกพัฒนา > พร็อกซี API ในแถบการนำทางด้านซ้าย
  3. คลิก +พร็อกซี
  4. คลิก SOAP Service
  5. ในหน้า "รายละเอียดพร็อกซี" ให้ป้อนข้อมูลต่อไปนี้

    ช่อง คำอธิบาย
    แหล่งที่มาของ WSDL

    เลือก URL

    คัดลอกและวาง URL ของ WSLD ต่อไปนี้ในช่องป้อน URL

    https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

    คลิก ตรวจสอบ

    Apigee Edge จะรับไฟล์ WSDL และอ่านไฟล์ดังกล่าวเพื่อค้นหารายการการดำเนินการ ที่บริการ SOAP รองรับ

    ชื่อ

    ปล่อยไว้ตามเดิม: delayedstockquote

    นี่คือชื่อของพร็อกซี API ที่คุณกำลังสร้าง

    เส้นทางฐาน ปล่อยไว้ตามเดิม: /delayedstockquote
    คำอธิบาย ใส่คำอธิบาย (ไม่บังคับ) เช่น พร็อกซี API ของ WSDL สำหรับราคาหุ้น
  6. คลิกถัดไป
  7. ในหน้านโยบายทั่วไป ในส่วนความปลอดภัย: การให้สิทธิ์ ให้เลือกส่งผ่าน (ไม่มีการให้สิทธิ์)
  8. คลิกถัดไป
  9. ในหน้าการดำเนินการ WSDL ให้เลือก REST เป็น SOAP เป็น REST

    เมื่อเลือกประเภทพร็อกซีแล้ว Edge จะแสดงรายการการดำเนินการที่จะสร้างเส้นทาง REST API รายการนี้ช่วยให้คุณ เลือกการดำเนินการจาก WSDL ได้ (ในกรณีที่คุณมีชุดการดำเนินการที่ต้องการ) โปรดสังเกตว่าตารางยังแสดงทรัพยากรที่ไคลเอ็นต์ REST สามารถใช้เรียกบริการ SOAP แบ็กเอนด์ได้ด้วย

    ปล่อยให้การเลือกอื่นๆ ทั้งหมดในหน้าเป็นไปตามเดิม

  10. คลิกถัดไป
  11. ยอมรับค่าเริ่มต้นของโฮสต์เสมือนโดยคลิกถัดไป
  12. ในหน้าสรุป ในส่วนการทำให้ใช้งานได้แบบไม่บังคับ ให้คลิกทดสอบ แล้วคลิกสร้างและทำให้ใช้งานได้

    Edge จะสร้างพร็อกซี API RESTful และทำให้ใช้งานได้ในสภาพแวดล้อม test ระบบจะกำหนดการดำเนินการที่รองรับ พารามิเตอร์อินพุต และอื่นๆ ของบริการจาก WSDL Edge จะแนะนำเมธอด HTTP ที่ควรใช้ สำหรับการดำเนินการแต่ละรายการ โดยปกติแล้ว Edge จะแปลการดำเนินการเป็นคำขอ GET ซึ่งมี ข้อดีคือแคชได้ นอกจากนี้ Edge ยังตั้งค่าปลายทางเป้าหมายแบ็กเอนด์ ซึ่ง อาจแตกต่างกันไปตามการดำเนินการ SOAP

    หากคุณไม่ได้ปรับแต่งพร็อกซี API ใหม่ (ซึ่งคุณไม่ได้ทำในบทแนะนำนี้) ก็ถือว่าเสร็จสิ้น คุณสามารถไปยังขั้นตอนการทดสอบพร็อกซี API ใหม่ได้

Classic Edge (Private Cloud)

วิธีพร็อกซีบริการ SOAP โดยใช้ UI ของ Classic Edge

  1. ลงชื่อเข้าใช้ http://ms-ip:9000 โดยที่ ms-ip คือที่อยู่ IP หรือชื่อ DNS ของโหนด Management Server
  2. เลือกAPI > พร็อกซี API ในแถบการนำทางด้านบน
  3. คลิก + พร็อกซี API
  4. คลิก SOAP Service
  5. ในหน้า "รายละเอียดพร็อกซี" ให้ป้อนข้อมูลต่อไปนี้

    ช่อง คำอธิบาย
    WSDL

    เลือก URL ตัวอย่าง

    จากนั้นเลือก
    ...delayedstockquote.asmx?WSDL

    คลิก ตรวจสอบ

    Apigee Edge จะรับไฟล์ WSDL และอ่านไฟล์ดังกล่าวเพื่อค้นหารายการการดำเนินการ ที่บริการ SOAP รองรับ

    ชื่อพร็อกซี

    ป้อน delayedstockquote

    นี่คือชื่อของพร็อกซีที่คุณกำลังสร้าง

    เส้นทางฐานของพร็อกซี และคำอธิบาย ปล่อยไว้ตามเดิม
  6. คลิกถัดไป
  7. ในหน้า WSDL ให้เลือกตัวเลือกต่อไปนี้
    ในช่องนี้ ให้ทำดังนี้
    ประเภทพร็อกซี API

    เลือก REST เป็น SOAP เป็น REST

    เมื่อเลือกประเภทพร็อกซีแล้ว Edge จะแสดงรายการการดำเนินการที่จะสร้างเส้นทาง REST API ดังที่แสดงไว้ที่นี่ รายการนี้ช่วยให้คุณเลือกการดำเนินการจาก WSDL ได้ (ในกรณีที่คุณมีชุดการดำเนินการที่ต้องการ) โปรดสังเกตว่าตารางยังแสดงทรัพยากรที่ไคลเอ็นต์ REST สามารถใช้เรียกบริการ SOAP แบ็กเอนด์ได้ด้วย

    ในตอนนี้ ให้เลือกชุดการดำเนินการแรกไว้ตามเดิม

    ประเภทพอร์ต: DelayedStockQuoteSoap เลือกการดำเนินการ WSDL ทั้ง 3 รายการ ปล่อยให้การตั้งค่าอื่นๆ เป็นไปตามเดิม

  8. คลิกถัดไป
  9. ในหน้าความปลอดภัย ให้เลือกส่งผ่าน (ไม่มี)
  10. คลิกถัดไป
  11. ยอมรับค่าเริ่มต้นของโฮสต์เสมือน แล้วคลิกถัดไป
  12. ในหน้า "สร้าง" ให้ยอมรับค่าเริ่มต้น แล้วคลิกสร้างและทำให้ใช้งานได้ เพื่อ ให้ Edge เริ่มสร้างพร็อกซี

    Edge จะสร้างพร็อกซี RESTful API ระบบจะกำหนดการดำเนินการที่รองรับ พารามิเตอร์อินพุต และอื่นๆ ของบริการจาก WSDL Edge จะแนะนำเมธอด HTTP ที่ควรใช้ สำหรับการดำเนินการแต่ละรายการ โดยปกติแล้ว Edge จะแปลการดำเนินการเป็นคำขอ GET ซึ่งมี ข้อดีคือแคชได้ นอกจากนี้ Edge ยังตั้งค่าปลายทางเป้าหมายแบ็กเอนด์ ซึ่ง อาจแตกต่างกันไปตามการดำเนินการ SOAP

    หากคุณไม่ได้ปรับแต่งพร็อกซีใหม่ (ซึ่งคุณไม่ได้ทำในบทแนะนำนี้) ก็ถือว่าเสร็จสิ้น คุณสามารถไปยังขั้นตอนการทดสอบพร็อกซีใหม่ได้

การทดสอบพร็อกซี

หากต้องการลองใช้พร็อกซีที่สร้างขึ้น ให้เปิด Command Prompt แล้วใช้ cURL พิมพ์คำสั่ง ด้านล่าง โดยที่

  • ORG คือชื่อองค์กร Edge ที่คุณสร้างพร็อกซี
  • ENV คือสภาพแวดล้อมที่ทำให้พร็อกซีใช้งานได้
  • DOMAIN สอดคล้องกับอินสแตนซ์ Edge ที่คุณใช้
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

ตัวอย่างเช่น หากองค์กรของคุณคือ docfood สภาพแวดล้อมคือ test และคุณใช้ Edge Enterprise Cloud คุณจะเรียกใช้คำสั่งลักษณะนี้:

curl "https://docfood-test.apigee.net/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

หากป้อน GOOG สำหรับพารามิเตอร์การค้นหา StockSymbol คุณควรได้รับ ราคาปัจจุบันของหุ้นคลาส C ของ Alphabet Inc. เช่น

{  
   "GetQuoteResponse":{  
      "GetQuoteResult":{  
         "StockSymbol":"GOOG",
         "LastTradeAmount":819.55,
         "LastTradeDateTime":"2017-02-13T14:33:00",
         "StockChange":5.88,
         "OpenAmount":816.0,
         "DayHigh":820.96,
         "DayLow":815.49,
         "StockVolume":785064,
         "PrevCls":813.67,
         "ChangePercent":"+0.72%",
         "FiftyTwoWeekRange":"663.28 - 841.95",
         "EarnPerShare":27.88,
         "PE":29.4,
         "CompanyName":"Alphabet Inc.",
         "QuoteError":false
      }
   }
}

รับข้อมูลจำเพาะของ OpenAPI ที่สร้างขึ้นโดยอัตโนมัติ

เมื่อคุณพร็อกซีบริการ SOAP โดยใช้ "REST เป็น SOAP เป็น REST" Edge จะสร้าง ข้อมูลจำเพาะของ OpenAPI โดยอัตโนมัติ คุณสามารถใช้ ข้อมูลจำเพาะของ OpenAPI เพื่อสร้างเอกสารประกอบเกี่ยวกับ API สำหรับ API ได้

หากต้องการรับข้อมูลจำเพาะของ OpenAPI ให้ไปที่ URL นี้

curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.json

เคล็ดลับเพิ่มเติม: คุณจะทราบได้อย่างไรว่าควรใช้ทรัพยากร กริยา และพารามิเตอร์การค้นหาใด

ในการเรียก API เพื่อทดสอบ คุณใช้ทรัพยากรและพารามิเตอร์การค้นหาที่เฉพาะเจาะจงในการเรียก cURL ไปยังบริการ SOAP แบ็กเอนด์ แต่คุณจะทราบได้อย่างไรว่าควรใช้ทรัพยากรและพารามิเตอร์ใด

ทรัพยากรและกริยา

ในวิซาร์ดพร็อกซี API ขณะสร้างพร็อกซี คุณจะเห็นวิธีที่การดำเนินการ SOAP จะแมปกับกริยาและทรัพยากรของ API แต่หากคุณไม่ได้จดบันทึกไว้ คุณจะทราบได้ดังนี้หลังจากสร้างพร็อกซีแล้ว

ในแท็บพัฒนา ของพร็อกซี API คุณจะเห็นรายการโฟลว์ในบานหน้าต่าง Navigator ด้านซ้ายในส่วนปลายทางพร็อกซี คลิกโฟลว์ที่คุณสนใจ ตัวอย่างเช่น โฟลว์ GetQuote เป็นตัวเลือกที่ดี จากนั้นดู XML ในบานหน้าต่างโค้ด ซึ่งจะแสดงเส้นทางทรัพยากรและกริยาสำหรับโฟลว์ในองค์ประกอบ <Condition>: /quote และ GET

พารามิเตอร์การค้นหา

เมื่อเลือกโฟลว์ GetQuote แล้ว ให้คลิกนโยบายแรกในมุมมองโฟลว์แบบกราฟิก นโยบายดังกล่าวควรเป็นนโยบาย Extract Variables ที่ดึงพารามิเตอร์การค้นหาที่คาดว่าจะส่ง ได้แก่ StockSymbol และ LicenseKey (หากคุณค้นหาเว็บ เกี่ยวกับบริการ SOAP ระบบจะบอกสิ่งที่คุณต้องส่งสำหรับ LicenseKey)

ระบบจะบันทึกพารามิเตอร์การค้นหาที่ดึงมาเป็นตัวแปร และนโยบายถัดไปจะใช้ตัวแปรดังกล่าวเพื่อ สร้างข้อความ SOAP