Ủy quyền một dịch vụ SOAP

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Kiến thức bạn sẽ học được

Thông qua hướng dẫn này, bạn sẽ tìm hiểu cách:

  • Tạo proxy API Edge từ tệp WSDL.
  • Hiểu rõ sự khác biệt giữa loại proxy RESTful SOAP và proxy SOAP truyền qua.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách đặt proxy API Edge lên trước một dịch vụ web dựa trên SOAP.

Hướng dẫn này minh hoạ cách tạo một API RESTful mới trước dịch vụ dựa trên SOAP. Mặc dù không được mô tả chi tiết ở đây, nhưng bạn cũng có thể tạo một proxy truyền qua chấp nhận tải trọng SOAP và truyền tải trọng đó đến dịch vụ phụ trợ.

Bạn cần có

  • Một tài khoản Apigee Edge. Nếu chưa có tài khoản này, bạn có thể đăng ký theo hướng dẫn trong bài viết Tạo tài khoản Apigee Edge.

Tạo proxy

Tại đây, bạn sẽ thấy Edge tạo proxy trước dịch vụ SOAP. Có hai loại proxy SOAP API:

  • Loại proxy REST-SOAP-REST tạo ra một API RESTful mới có lớp dịch sang SOAP. Ứng dụng gọi API này giống như các dịch vụ RESTful khác, truyền các tham số truy vấn mà dịch vụ phụ trợ cần. Edge chuyển dữ liệu này thành tải trọng SOAP mà dịch vụ dự kiến.
  • Loại proxy Proxy truyền qua cho phép ứng dụng chỉ truyền tải trọng SOAP. Đây là một cách để các cuộc gọi dịch vụ SOAP được hưởng lợi từ các tính năng quản lý Edge.

Edge

Cách proxy một dịch vụ SOAP bằng giao diện người dùng Edge:

  1. Đăng nhập vào apigee.com/edge.
  2. Chọn Phát triển > Proxy API trong thanh điều hướng bên trái.
  3. Nhấp vào +Proxy.
  4. Nhấp vào dịch vụ SOAP.
  5. Trên trang Thông tin chi tiết về proxy, hãy nhập những thông tin sau:

    Trường Mô tả sản phẩm
    Nguồn WDL

    Chọn: URL

    Sao chép và dán URL WSLD sau vào trường Nhập URL:

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

    Nhấp vào: Xác thực

    Apigee Edge lấy tệp WSDL và đọc tệp này để khám phá danh sách hoạt động mà dịch vụ SOAP hỗ trợ.

    Tên

    Giữ nguyên: delayedstockquote

    Đây là tên cho proxy API mà bạn đang tạo.

    Đường dẫn cơ sở Giữ nguyên: /delayedstockquote
    Mô tả Thêm nội dung mô tả, chẳng hạn như: Proxy API WSDL API của báo giá cổ phiếu (không bắt buộc)
  6. Nhấp vào Tiếp theo.
  7. Trên trang Các chính sách phổ biến, trong mục Bảo mật: Uỷ quyền, hãy chọn Chuyển qua (không cho phép).
  8. Nhấp vào Tiếp theo.
  9. Trên trang Hoạt động WDL, hãy chọn: REST đến SOAP đến REST.

    Sau khi bạn chọn loại proxy, Edge sẽ hiển thị danh sách các thao tác mà Edge sẽ tạo đường dẫn API REST. Danh sách này cho phép bạn chọn trong số các thao tác có trong WSDL (trong trường hợp bạn có một tập hợp cụ thể đang tìm kiếm). Xin lưu ý rằng bảng này cũng cho thấy các tài nguyên mà ứng dụng REST có thể dùng để gọi dịch vụ SOAP phụ trợ.

    Giữ nguyên tất cả các lựa chọn khác trên trang.

  10. Nhấp vào Tiếp theo.
  11. Chấp nhận các chế độ mặc định của Virtual Host bằng cách nhấp vào Next (Tiếp theo).
  12. Trên trang Tóm tắt, trong phần Triển khai không bắt buộc, hãy nhấp vào Kiểm thử rồi nhấp vào Tạo và triển khai.

    Edge tạo một proxy API RESTful và triển khai proxy này cho môi trường test. Từ WSDL, cấp này xác định các thao tác được hỗ trợ, tham số đầu vào, v.v. của dịch vụ. Edge đề xuất phương thức HTTP nào cần sử dụng cho mỗi thao tác. Thông thường, Edge chuyển các thao tác thành yêu cầu GET, có lợi thế là có thể lưu vào bộ nhớ đệm. Edge cũng thiết lập điểm cuối đích phụ trợ. Điểm cuối này có thể khác nhau theo từng hoạt động SOAP.

    Trừ phi bạn đang tuỳ chỉnh proxy API mới (và bạn không ở trong hướng dẫn này), thì đó là tất cả những gì bạn cần. Bạn có thể chuyển sang thử nghiệm proxy API mới.

Phiên bản cũ (Đám mây riêng tư)

Cách proxy một dịch vụ SOAP bằng giao diện người dùng Classic Edge:

  1. Đăng nhập vào http://ms-ip:9000, trong đó ms-ip là địa chỉ IP hoặc tên DNS của nút Máy chủ quản lý.
  2. Chọn API > API Proxies ở thanh điều hướng trên cùng.
  3. Nhấp vào + Proxy API.
  4. Nhấp vào dịch vụ SOAP.
  5. Trên trang Thông tin chi tiết về proxy, hãy nhập những thông tin sau:

    Trường Mô tả sản phẩm
    WSDL

    Chọn: URL mẫu

    Sau đó chọn:
    ...LatencystockPosition.asmx?WSDL

    Nhấp vào: Xác thực

    Apigee Edge lấy tệp WSDL và đọc tệp này để khám phá danh sách hoạt động mà dịch vụ SOAP hỗ trợ.

    Tên proxy

    Nhập: delayedstockquote

    Đây là tên cho proxy mà bạn đang tạo.

    Đường dẫn cơ sở proxyMô tả Giữ nguyên.
  6. Nhấp vào Tiếp theo.
  7. Trên trang WSDL, hãy chọn những mục sau:
    Trong trường này thực hiện thao tác này
    Loại proxy API

    Chọn: REST đến SOAP đến REST

    Sau khi bạn chọn loại proxy, Edge sẽ hiện danh sách thao tác mà Edge sẽ tạo đường dẫn API REST, như minh hoạ bên dưới. Danh sách này cho phép bạn chọn trong số các thao tác có trong WSDL (trong trường hợp bạn có một tập hợp cụ thể đang tìm kiếm). Xin lưu ý rằng bảng này cũng cho thấy các tài nguyên mà ứng dụng REST có thể dùng để gọi dịch vụ SOAP phụ trợ.

    Bây giờ, bạn chỉ cần chọn nhóm thao tác đầu tiên.

    Loại cổng: HoãnStockQuoteSoap Chọn cả ba thao tác WSDL. Giữ nguyên các chế độ cài đặt khác.

  8. Nhấp vào Tiếp theo.
  9. Trên trang Bảo mật, hãy chọn Chuyển qua (không có).
  10. Nhấp vào Tiếp theo.
  11. Chấp nhận các chế độ mặc định của Virtual Host, rồi nhấp vào Next (Tiếp theo).
  12. Trên trang Build (Tạo), hãy chấp nhận các giá trị mặc định rồi nhấp vào Build and Deploy (Tạo và triển khai) để yêu cầu Edge bắt đầu tạo proxy.

    Edge tạo một proxy API RESTful. Từ WSDL, cấp này xác định các thao tác được hỗ trợ, tham số đầu vào, v.v. của dịch vụ. Edge đề xuất phương thức HTTP nào cần sử dụng cho mỗi thao tác. Thông thường, Edge chuyển các thao tác thành yêu cầu GET, có lợi thế là có thể lưu vào bộ nhớ đệm. Edge cũng thiết lập điểm cuối đích phụ trợ. Điểm cuối này có thể khác nhau theo từng hoạt động SOAP.

    Trừ khi bạn đang tuỳ chỉnh proxy mới (và bạn không ở trong hướng dẫn này), đó là tất cả những gì bạn cần làm. Bạn có thể chuyển sang thử nghiệm proxy mới.

Kiểm tra proxy

Để thử proxy bạn đã tạo, hãy mở dấu nhắc lệnh và sử dụng cURL. Nhập lệnh bên dưới, trong đó:

  • ORG là tên của tổ chức Edge mà bạn đã tạo proxy.
  • ENV là môi trường nơi proxy được triển khai.
  • Domains tương ứng với phiên bản Edge mà bạn đang sử dụng.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Ví dụ: nếu tổ chức của bạn là docfood, môi trường là test và bạn đang sử dụng đám mây doanh nghiệp của Edge, thì bạn cần chạy một lệnh như sau:

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

Nếu đã nhập GOOG cho tham số truy vấn Cổ phiếu, bạn sẽ nhận được mức giá hiện tại của cổ phiếu Loại C của Alphabet Inc.. Ví dụ:

{  
   "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
      }
   }
}

Nhận thông số kỹ thuật OpenAPI được tạo tự động

Khi bạn proxy cho một dịch vụ SOAP bằng "REST to SOAP sang REST", Edge sẽ tự động tạo Thông số kỹ thuật OpenAPI. Bạn có thể sử dụng Thông số kỹ thuật OpenAPI để tạo tài liệu về API cho API.

Để nhận Thông số kỹ thuật OpenAPI, chỉ cần truy cập URL này:

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

Điểm cộng: Làm thế nào để bạn tìm ra tài nguyên, động từ và tham số truy vấn nên sử dụng?

Trong lệnh gọi API kiểm thử, bạn đã sử dụng một tài nguyên và tham số truy vấn cụ thể trong lệnh gọi cURL đến dịch vụ SOAP phụ trợ. Nhưng làm cách nào để bạn tự tìm ra điều đó?

Tài nguyên và động từ

Trong trình hướng dẫn proxy API khi tạo proxy, bạn đã thấy cách thức hoạt động của SOAP ánh xạ đến các động từ và tài nguyên API. Nhưng nếu bạn không ghi lại những thông tin đó, thì dưới đây là cách bạn sẽ phát hiện được sau khi tạo proxy.

Trên thẻ Phát triển của proxy API, trong ngăn Trình điều hướng bên trái, bạn sẽ thấy danh sách các luồng trong Điểm cuối proxy. Nhấp vào quy trình mà bạn quan tâm. Ví dụ: quy trình GetQuote là một chương trình phù hợp. Sau đó, hãy xem XML trong ngăn Mã. Ngăn này hiển thị đường dẫn tài nguyên và động từ cho luồng trong phần tử <Condition>: /quoteGET.

Tham số truy vấn

Khi đã chọn quy trình GetQuote, hãy nhấp vào chính sách đầu tiên trong chế độ xem quy trình biểu đồ. Đó phải là một chính sách Trích xuất biến, trong đó ghi lại các tham số truy vấn dự kiến sẽ được truyền: StockSymbolLicenseKey. (Nếu bạn tìm kiếm dịch vụ SOAP trên web, thì công cụ sẽ cho bạn biết cần chuyển những gì cho LicenseKey.)

Các tham số truy vấn đã thu thập được lưu dưới dạng biến và được chính sách tiếp theo sử dụng để tạo thông báo SOAP.