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

Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu 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 một proxy Edge API từ tệp WSDL.
  • Biết sự khác biệt giữa loại proxy SOAP RESTful và proxy SOAP truyền qua.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách đặt một proxy API Edge 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 của bạn. 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 dữ liệu 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ó

Tạo proxy

Tại đây, bạn sẽ để Edge tạo proxy nằm trước một dịch vụ SOAP. Có 2 loại proxy API SOAP:

  • Loại proxy REST-SOAP-REST tạo ra một API RESTful mới có lớp dịch sang SOAP. Các ứng dụng gọi dịch vụ này như cách chúng gọi 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 sẽ dịch yêu cầu này thành tải trọng SOAP mà dịch vụ mong đợi.
  • Loại proxy Pass-through proxy cho phép các ứng dụng chỉ cần truyền tải một tải trọng SOAP. Đây là cách để các lệnh gọi dịch vụ SOAP tận dụng các tính năng quản lý Edge.

Edge

Cách uỷ quyền cho 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 Develop > API Proxies (Phát triển > API Proxy) 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 Descriptoin
    Nguồn WSDL

    Chọn: URL

    Sao chép và dán URL WSLD sau đây 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 nhận tệp WSDL và đọc tệp này để khám phá danh sách các thao tác mà dịch vụ SOAP hỗ trợ.

    Tên

    Giữ nguyên: delayedstockquote

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

    Đường dẫn cơ sở Giữ nguyên: /delayedstockquote
    Nội dung mô tả Bạn có thể thêm nội dung mô tả, chẳng hạn như: Stock quote WSDL API Proxy
  6. Nhấp vào Tiếp theo.
  7. Trên trang Chính sách chung, trong mục Bảo mật: Uỷ quyền, hãy chọn Truyền qua (không uỷ quyền).
  8. Nhấp vào Tiếp theo.
  9. Trên trang WSDL operations (Các thao tác WSDL), hãy chọn: REST to SOAP to REST (REST sang SOAP sang 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 đang tìm một tập hợp cụ thể). Xin lưu ý rằng bảng này cũng hiển thị 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 giá trị mặc định của Máy chủ ảo bằng cách nhấp vào 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 đó vào môi trường test. Từ WSDL, nó 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 cần sử dụng cho từng thao tác. Thông thường, Edge sẽ dịch các thao tác thành yêu cầu GET. Yêu cầu này có ưu điểm là có thể lưu vào bộ nhớ đệm. Edge cũng thiết lập điểm cuối mục tiêu phụ trợ, có thể thay đổi theo từng thao tác SOAP.

    Trừ phi bạn đang tuỳ chỉnh proxy API mới (và bạn không thực hiện việc này trong hướng dẫn này), nếu không thì chỉ có vậy thôi. Bạn có thể chuyển sang kiểm thử proxy API mới.

Classic Edge (Private Cloud)

Cách uỷ quyền cho 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 (API > API Proxy) trong thanh điều hướng trên cùng.
  3. Nhấp vào + API Proxy (+ API 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ả
    WSDL

    Chọn: URL mẫu

    Sau đó, hãy chọn:
    ...delayedstockquote.asmx?WSDL

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

    Apigee Edge nhận tệp WSDL và đọc tệp này để khám phá danh sách các thao tác mà dịch vụ SOAP hỗ trợ.

    Tên proxy

    Nhập: delayedstockquote

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

    Đường dẫn cơ sở của proxyNội dung mô 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 làm việc này
    Loại proxy API

    Chọn: REST to SOAP to 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, như minh hoạ ở đây. 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 đang tìm một tập hợp cụ thể). Xin lưu ý rằng bảng này cũng hiển thị các tài nguyên mà ứng dụng REST có thể dùng để gọi dịch vụ SOAP phụ trợ.

    Hiện tại, bạn chỉ cần chọn nhóm thao tác đầu tiên.

    Loại cổng: DelayedStockQuoteSoap Chọn cả 3 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 Truyền qua (không có).
  10. Nhấp vào Tiếp theo.
  11. Chấp nhận các giá trị mặc định của Máy chủ ảo rồi nhấp vào Tiếp theo.
  12. Trên trang Build (Xây dựng), hãy chấp nhận các giá trị mặc định rồi nhấp vào Build and Deploy (Xây dựng và triển khai) để Edge bắt đầu tạo proxy.

    Edge tạo một proxy API RESTful. Từ WSDL, nó 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 cần sử dụng cho từng thao tác. Thông thường, Edge sẽ dịch các thao tác thành yêu cầu GET. Yêu cầu này có ưu điểm là có thể lưu vào bộ nhớ đệm. Edge cũng thiết lập điểm cuối mục tiêu phụ trợ, có thể thay đổi theo từng thao tác SOAP.

    Trừ phi bạn đang tuỳ chỉnh proxy mới (và bạn không làm việc này trong hướng dẫn này), nếu không thì chỉ cần làm như vậy là xong. Bạn có thể chuyển sang kiểm thử proxy mới.

Kiểm thử proxy

Để dùng thử proxy mà bạn đã tạo, hãy mở giao diện nhập dòng 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 mà proxy được triển khai.
  • DOMAIN 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 Edge, thì bạn sẽ chạy một lệnh như sau:

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

Nếu bạn nhập GOOG cho tham số truy vấn StockSymbol, bạn sẽ nhận đượ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 OpenAPI Specification được tạo tự động

Khi bạn uỷ quyền cho một dịch vụ SOAP bằng cách sử dụng "REST to SOAP to REST", Edge sẽ tự động tạo một Quy cách OpenAPI. Bạn có thể sử dụng OpenAPI Spec để tạo tài liệu API cho API.

Để lấy OpenAPI Spec, bạn chỉ cần truy cập vào URL này:

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

Điểm cộng: Làm cách nào để biết cần sử dụng tài nguyên, động từ và tham số truy vấn nào?

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 hiểu đ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 các thao tác SOAP sẽ liên kết với các động từ và tài nguyên API. Nhưng nếu không ghi lại những thông tin đó, bạn có thể tìm hiểu cách tìm thông tin sau khi tạo proxy.

Trên thẻ Phát triển của API proxy, 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 Proxy Endpoints. Nhấp vào luồng mà bạn quan tâm. Ví dụ: quy trình GetQuote là một lựa chọn phù hợp. Sau đó, hãy xem XML trong ngăn Code (Mã). Ngăn này cho biết đườ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 bạn 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 dạng đồ hoạ. Đây phải là chính sách Trích xuất biến, 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ì dịch vụ này sẽ cho bạn biết những gì cần truyền cho LicenseKey.)

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