Proxy dla SOAP

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Czego się nauczysz

Z tego samouczka dowiesz się, jak:

  • Wygeneruj serwer proxy Edge API z pliku WSDL.
  • Poznaj różnicę między adresem proxy SOAP i typu proxy SOAP.

Z tego samouczka dowiesz się, jak umieścić serwer proxy interfejsu Edge API przed usługą internetową opartą na SOAP.

W tym samouczku pokazujemy, jak wygenerować nowy interfejs API typu REST na potrzeby usługi opartej na SOAP. Choć nie został on szczegółowo opisany, możesz też wygenerować przekazujący serwer proxy, który będzie przyjmować ładunek SOAP i przekazywać go do usługi backendu.

Czego potrzebujesz

  • konto Apigee Edge. Jeśli jeszcze go nie masz, możesz się zarejestrować zgodnie z instrukcjami na stronie Tworzenie konta Apigee Edge.

Tworzę serwer proxy

W tym narzędziu Edge wygenerujesz serwer proxy, który będzie znajdować się przed usługą SOAP. Istnieją dwa typy serwerów proxy interfejsu SOAP API:

  • Typ serwera proxy REST-SOAP-REST generuje nowy interfejs API typu REST z warstwą translacji dla SOAP. Klienty nazywają ją tak samo jak inne usługi REST, przekazując parametry zapytań wymagane przez usługę backendu. Edge przekształca je na ładunek SOAP oczekiwany przez usługę.
  • Przejściowy serwer proxy umożliwia klientom po prostu przekazywanie ładunku SOAP. W ten sposób wywołania usługi SOAP mogą korzystać z funkcji zarządzania brzegiem.

Edge

Aby skonfigurować serwer proxy SOAP za pomocą interfejsu Edge:

  1. Zaloguj się na stronie apigee.com/edge.
  2. Na pasku nawigacyjnym po lewej stronie wybierz Programowanie > Proxies API.
  3. Kliknij +Serwer proxy.
  4. Kliknij Usługa SOAP.
  5. Na stronie Szczegóły serwera proxy wpisz te informacje:

    Pole Opis
    Źródło WSDL

    Wybierz: URL

    Skopiuj ten adres URL z WSLD i wklej go w polu Wpisz URL:

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

    Kliknięcie: Zweryfikuj

    Apigee Edge pobiera plik WSDL i odczytuje go, aby wykryć listę operacji obsługiwanych przez usługę SOAP.

    Nazwa

    Pozostaw bez zmian: delayedstockquote

    Jest to nazwa tworzonego przez Ciebie serwera proxy interfejsu API.

    Ścieżka podstawowa Pozostaw bez zmian: /delayedstockquote
    Opis Opcjonalnie dodaj opis, na przykład: Serwer proxy API WSDL do notowania giełdowego
  6. Kliknij Dalej.
  7. Na stronie Typowe zasady w sekcji Zabezpieczenia: autoryzacja wybierz Przekazywanie (bez autoryzacji).
  8. Kliknij Dalej.
  9. Na stronie Operacje WSDL wybierz REST to SOAP to REST.

    Po wybraniu typu serwera proxy Edge wyświetli listę operacji, dla których wygeneruje ścieżki interfejsu API REST. Ta lista umożliwia wybranie operacji znajdujących się w WSDL (jeśli masz określony zestaw, którego szukasz). Zwróć uwagę, że tabela zawiera również zasoby, których klient REST może używać do wywoływania usługi SOAP backendu.

    Pozostałe opcje zostaw na stronie bez zmian.

  10. Kliknij Dalej.
  11. Zaakceptuj wartości domyślne hosta wirtualnego, klikając Dalej.
  12. Na stronie Podsumowanie w sekcji Opcjonalne wdrożenie kliknij Przetestuj, a następnie kliknij Utwórz i wdróż.

    Edge generuje serwer proxy interfejsu API typu REST i wdraża go w środowisku test. Na podstawie WSDL określa ono obsługiwane operacje, parametry wejściowe usługi itd. Edge sugeruje metodę HTTP, której należy użyć w każdej operacji. Zwykle Edge tłumaczy operacje na żądania GET, które mają tę zaletę, że można je buforować. Edge konfiguruje też docelowy punkt końcowy backendu, który może się różnić w zależności od operacji SOAP.

    To wszystko, o ile nie dostosowujesz nowego serwera proxy interfejsu API (i nie ma Cię w tym samouczku). Możesz przejść do testowania nowego serwera proxy interfejsu API.

Klasyczna wersja Edge (Private Cloud)

Aby połączyć usługę SOAP z usługą SOAP za pomocą klasycznego interfejsu użytkownika Edge:

  1. Zaloguj się w http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania.
  2. Na górnym pasku nawigacyjnym wybierz Interfejsy API > Serwery proxy API.
  3. Kliknij + Serwer proxy API.
  4. Kliknij Usługa SOAP.
  5. Na stronie Szczegóły serwera proxy wpisz te informacje:

    Pole Opis
    WSDL

    Wybierz: Przykładowy URL

    Następnie wybierz:
    ...delayedstockquote.asmx?WSDL

    Kliknięcie: Zweryfikuj

    Apigee Edge pobiera plik WSDL i odczytuje go, aby wykryć listę operacji obsługiwanych przez usługę SOAP.

    Nazwa serwera proxy

    Wpisz: delayedstockquote

    Jest to nazwa tworzonego serwera proxy.

    Ścieżka podstawowa serwera proxy i Opis Zostaw bez zmian.
  6. Kliknij Dalej.
  7. Na stronie WSDL wybierz te opcje:
    W tym polu wykonaj to
    Typ serwera proxy interfejsu API

    Wybierz: REST to SOAP to REST

    Gdy wybierzesz typ serwera proxy, Edge wyświetli listę operacji, dla których wygeneruje ścieżki interfejsu API REST, jak pokazano tutaj. Ta lista umożliwia wybranie operacji znajdujących się w WSDL (jeśli masz określony zestaw, którego szukasz). Zwróć uwagę, że tabela zawiera również zasoby, których klient REST może używać do wywoływania usługi SOAP backendu.

    Na razie pozostaw wybrany pierwszy zestaw operacji.

    Typ portu: OpóźnienieedStockMetricSoap Wybierz wszystkie 3 operacje WSDL. Inne ustawienia pozostaw bez zmian.

  8. Kliknij Dalej.
  9. Na stronie Zabezpieczenia wybierz Przekazywanie (brak).
  10. Kliknij Dalej.
  11. Zaakceptuj wartości domyślne hosta wirtualnego i kliknij Dalej.
  12. Na stronie kompilacji zaakceptuj wartości domyślne i kliknij Skompiluj i wdróż, aby usługa Edge zaczęła generować serwer proxy.

    Edge generuje serwer proxy interfejsu API typu REST. Na podstawie WSDL określa ono obsługiwane operacje, parametry wejściowe usługi itd. Edge sugeruje metodę HTTP, której należy użyć w każdej operacji. Zwykle Edge tłumaczy operacje na żądania GET, które mają tę zaletę, że można je buforować. Edge konfiguruje też docelowy punkt końcowy backendu, który może się różnić w zależności od operacji SOAP.

    To wszystko, o ile nie dostosowujesz nowego serwera proxy (i nie ma Cię w tym samouczku). Możesz przejść do testowania nowego serwera proxy.

Testowanie serwera proxy

Aby wypróbować utworzony przez siebie serwer proxy, otwórz wiersz polecenia i użyj cURL. Wpisz poniższe polecenie, gdzie:

  • ORG to nazwa organizacji Edge, w której został utworzony serwer proxy.
  • ENV to środowisko, w którym wdrażany jest serwer proxy.
  • Domena {6/} odpowiada używanej instancji Edge.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Jeśli na przykład Twoja organizacja to docfood, środowisko to test i używasz chmury biznesowej Edge, uruchom następujące polecenie:

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

Jeśli dla parametru zapytania StockSymbol wpisano GOOG, powinna zostać wyświetlona aktualna cena akcji Alphabet Inc. klasy C. Na przykład:

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

Pobierz automatycznie wygenerowaną specyfikację OpenAPI

Gdy udostępniasz usługę SOAP za pomocą polecenia „REST to SOAP to REST”, Edge automatycznie generuje specyfikację OpenAPI. Możesz użyć specyfikacji OpenAPI, aby wygenerować dokumentację API dla tego interfejsu.

Aby pobrać specyfikację OpenAPI, odwiedź po prostu ten adres URL:

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

Dodatkowy udział: Jak sprawdzić, których zasobów, czasowników i parametrów zapytania należy użyć?

W testowym wywołaniu interfejsu API użyto określonych parametrów zasobu i zapytania w wywołaniu cURL usługi SOAP backendu. Ale jak możesz to sprawdzić?

Zasób i czasownik

W kreatorze proxy interfejsu API podczas tworzenia serwera proxy zobaczyliśmy, jak operacje SOAP będą mapowane na czasowniki i zasoby interfejsu API. Jeśli jednak ich nie masz, w ten sposób możesz sprawdzić, jak to zrobić po utworzeniu serwera proxy.

Na karcie Develop (Programowanie) serwera proxy interfejsu API, w panelu nawigacji po lewej stronie zobaczysz listę przepływów w obszarze Punkty końcowe serwera proxy. Kliknij proces, który Cię interesuje. Dobrym przykładem jest proces GetQuote. Następnie wyświetl w panelu kodu kod XML, który zawiera ścieżkę i czasownik do zasobu przepływu w elemencie <Condition>: /quote i GET.

Parametry zapytania

Po wybraniu przepływu GetQuote kliknij pierwszą zasadę w graficznym widoku przepływu. Powinna to być zasada Wyodrębnianie zmiennych, która przechwytuje parametry zapytania, które powinny być przekazywane: StockSymbol i LicenseKey. Jeśli wyszukasz w internecie usługę SOAP, dowiesz się, jakie dane należy przekazać dla klucza LicenseKey.

Przechwycone parametry zapytania są zapisywane jako zmienne i używane przez następną zasadę do utworzenia komunikatu SOAP.