Proxy eines SOAP-Dienstes

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

Lerninhalte

In dieser Anleitung lernen Sie Folgendes:

  • Edge API-Proxy aus einer WSDL-Datei generieren
  • Unterschied zwischen einem RESTful-SOAP-Proxytyp und einem Passthrough-SOAP Proxy

In dieser Anleitung erfahren Sie, wie Sie einen Edge API-Proxy vor einem SOAP-basierten Web dienst einfügen.

In dieser Anleitung wird veranschaulicht, wie Sie eine neue RESTful API vor Ihrem SOAP-basierten Dienst generieren. Obwohl hier nicht im Detail beschrieben, können Sie auch einen Passthrough-Proxy generieren, der eine SOAP-Nutzlast akzeptiert und an den Backend-Dienst weiterleitet.

Voraussetzungen

  • Ein Apigee Edge-Konto. Wenn Sie noch kein Konto haben, können Sie sich wie unter Apigee Edge-Konto erstellen beschrieben registrieren.

Proxy erstellen

Hier lassen Sie Edge den Proxy generieren, der vor einem SOAP-Dienst platziert wird. Es gibt zwei Arten von SOAP API-Proxys:

  • Der Proxytyp REST-SOAP-REST generiert eine neue RESTful API mit einer Übersetzungsebene zu SOAP. Clients rufen sie wie andere RESTful-Dienste auf und übergeben die Suchparameter die vom Backend-Dienst benötigt werden. Edge übersetzt dies in die SOAP-Nutzlast die vom Dienst erwartet wird.
  • Mit dem Proxytyp Passthrough-Proxy können Clients einfach eine SOAP-Nutzlast übergeben. So können SOAP-Dienstaufrufe von den Edge-Verwaltungsfunktionen profitieren.

Edge

So vermitteln Sie einen SOAP-Dienst per Proxy über die Edge-Benutzeroberfläche:

  1. Melden Sie sich unter apigee.com/edge an.
  2. Wählen Sie in der linken Navigationsleiste Develop > API Proxies aus.
  3. Klicken Sie auf +Proxy.
  4. Klicken Sie auf SOAP-Dienst.
  5. Geben Sie auf der Proxy-Detailseite Folgendes ein:

    Feld Beschreibung
    WSDL-Quelle

    Wählen Sie URL aus.

    Kopieren Sie die folgende WSDL-URL und fügen Sie sie in das Feld URL eingeben ein:

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

    Klicken Sie auf Validieren.

    Apigee Edge ruft die WSDL-Datei ab und liest sie, um die Liste der Vorgänge zu ermitteln, die vom SOAP-Dienst unterstützt werden.

    Name

    Lassen Sie den Wert unverändert: delayedstockquote

    Dies ist der Name des API-Proxys, den Sie erstellen.

    Basispfad Lassen Sie den Wert unverändert: /delayedstockquote
    Beschreibung Optional können Sie eine Beschreibung hinzufügen, z. B. WSDL API-Proxy für Aktienkurse.
  6. Klicken Sie auf Weiter.
  7. Wählen Sie auf der Seite Allgemeine Richtlinien unter Sicherheit: Autorisierung die Option Passthrough (keine Autorisierung) aus.
  8. Klicken Sie auf Weiter.
  9. Wählen Sie auf der Seite WSDL-Vorgänge die Option REST zu SOAP zu REST aus.

    Sobald Sie den Proxytyp ausgewählt haben, zeigt Edge die Liste der Vorgänge an, für die REST API-Pfade generiert werden. In dieser Liste können Sie Vorgänge aus der WSDL auswählen (falls Sie nach einer bestimmten Gruppe suchen). In der Tabelle werden auch Ressourcen angezeigt, die ein REST-Client zum Aufrufen des Backend-SOAP-Dienstes verwenden kann.

    Lassen Sie alle anderen Einstellungen auf der Seite unverändert.

  10. Klicken Sie auf Weiter.
  11. Übernehmen Sie die Standardeinstellungen für den virtuellen Host und klicken Sie auf Weiter.
  12. Klicken Sie auf der Seite Zusammenfassung unter „Optionale Bereitstellung“ auf Testen und dann auf Erstellen und bereitstellen.

    Edge generiert einen RESTful API-Proxy und stellt ihn in der test-Umgebung bereit. Aus der WSDL werden die unterstützten Vorgänge, Eingabeparameter usw. des Dienstes ermittelt. Edge schlägt vor, welche HTTP-Methode für jeden Vorgang verwendet werden soll. In der Regel übersetzt Edge Vorgänge in GET-Anfragen, die den Vorteil haben, dass sie im Cache gespeichert werden können. Edge richtet auch den Backend-Zielendpunkt ein, der kann je nach SOAP-Vorgang variieren.

    Wenn Sie den neuen API-Proxy nicht anpassen (was in dieser Anleitung nicht der Fall ist), ist das alles. Sie können mit dem Testen des neuen API-Proxys fortfahren.

Classic Edge (Private Cloud)

So vermitteln Sie einen SOAP-Dienst per Proxy über die Classic Edge-Benutzeroberfläche:

  1. Melden Sie sich unter http://ms-ip:9000 an. Dabei ist „ms-ip“ die IP-Adresse oder der DNS-Name des Management Server-Knotens.
  2. Wählen Sie in der oberen Navigationsleiste APIs > API Proxies aus.
  3. Klicken Sie auf + API-Proxy.
  4. Klicken Sie auf SOAP-Dienst.
  5. Geben Sie auf der Proxy-Detailseite Folgendes ein:

    Feld Beschreibung
    WSDL

    Wählen Sie Beispiel-URL aus.

    Wählen Sie dann:
    ...delayedstockquote.asmx?WSDL aus.

    Klicken Sie auf Validieren.

    Apigee Edge ruft die WSDL-Datei ab und liest sie, um die Liste der Vorgänge zu ermitteln, die vom SOAP-Dienst unterstützt werden.

    Proxy-Name

    Geben Sie delayedstockquote ein.

    Dies ist der Name des Proxys, den Sie erstellen.

    Proxy-Basispfad und Beschreibung Lassen Sie die Werte unverändert.
  6. Klicken Sie auf Weiter.
  7. Treffen Sie auf der WSDL-Seite die folgenden Auswahlen:
    In diesem Feld tun Sie Folgendes
    API-Proxytyp

    Wählen Sie REST zu SOAP zu REST aus.

    Sobald Sie den Proxytyp ausgewählt haben, zeigt Edge die Liste der Vorgänge an, für die REST API-Pfade generiert werden, wie hier gezeigt. In dieser Liste können Sie Vorgänge aus der WSDL auswählen (falls Sie nach einer bestimmten Gruppe suchen). In der Tabelle werden auch Ressourcen angezeigt, die ein REST-Client zum Aufrufen des Backend-SOAP-Dienstes verwenden kann.

    Lassen Sie vorerst die erste Gruppe von Vorgängen ausgewählt.

    Porttyp: DelayedStockQuoteSoap Wählen Sie alle drei WSDL-Vorgänge aus. Lassen Sie die anderen Einstellungen unverändert.

  8. Klicken Sie auf Weiter.
  9. Wählen Sie auf der Seite „Sicherheit“ die Option Passthrough (keine) aus.
  10. Klicken Sie auf Weiter.
  11. Übernehmen Sie die Standardeinstellungen für den virtuellen Host und klicken Sie auf Weiter.
  12. Übernehmen Sie auf der Seite „Erstellen“ die Standardeinstellungen und klicken Sie auf Erstellen und bereitstellen, damit Edge mit dem Generieren des Proxys beginnt.

    Edge generiert einen RESTful API-Proxy. Aus der WSDL werden die unterstützten Vorgänge, Eingabeparameter usw. des Dienstes ermittelt. Edge schlägt vor, welche HTTP-Methode für jeden Vorgang verwendet werden soll. In der Regel übersetzt Edge Vorgänge in GET-Anfragen, die den Vorteil haben, dass sie im Cache gespeichert werden können. Edge richtet auch den Backend-Zielendpunkt ein, der kann je nach SOAP-Vorgang variieren.

    Wenn Sie den neuen Proxy nicht anpassen (was in dieser Anleitung nicht der Fall ist), ist das alles. Sie können mit dem Testen des neuen Proxys fortfahren.

Proxy testen

Um den erstellten Proxy zu testen, öffnen Sie eine Eingabeaufforderung und verwenden Sie cURL. Geben Sie den folgenden Befehl ein, wobei:

  • „ORG“ der Name der Edge-Organisation ist, in der Sie den Proxy erstellt haben.
  • „ENV“ die Umgebung ist, in der der Proxy bereitgestellt wird.
  • „DOMAIN“ der Edge-Instanz entspricht, die Sie verwenden.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Wenn Ihre Organisation beispielsweise docfood ist, die Umgebung test und Sie die Edge Enterprise Cloud verwenden, führen Sie einen Befehl wie diesen aus:

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

Wenn Sie GOOG für den Suchparameter „StockSymbol“ eingegeben haben, sollten Sie den aktuellen Kurs der Alphabet Inc. Class C-Aktie erhalten. Beispiel:

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

Automatisch generierte OpenAPI Spezifikation abrufen

Wenn Sie einen SOAP-Dienst mit "REST zu SOAP zu REST" per Proxy vermitteln, generiert Edge automatisch eine OpenAPI-Spezifikation. Sie können die OpenAPI-Spezifikation verwenden, um eine API-Dokumentation für die API zu generieren.

Rufen Sie einfach diese URL auf, um die OpenAPI-Spezifikation zu erhalten:

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

Zusatzaufgabe: Wie finden Sie heraus, welche Ressource, welches Verb und welche Suchparameter verwendet werden müssen?

Im Test-API-Aufruf haben Sie eine bestimmte Ressource und Suchparameter in Ihrem cURL-Aufruf an den Backend-SOAP-Dienst verwendet. Aber wie würden Sie das selbst herausfinden?

Ressource und Verb

Im API-Proxy-Assistenten beim Erstellen des Proxys haben Sie gesehen, wie die SOAP-Vorgänge API-Verben und -Ressourcen zugeordnet werden. Wenn Sie diese jedoch nicht notiert haben, erfahren Sie hier, wie Sie sie nach dem Erstellen des Proxys herausfinden.

Auf dem Tab Entwickeln des API-Proxys sehen Sie im linken Navigationsbereich eine Liste von Abläufen unter „Proxy-Endpunkte“. Klicken Sie auf den gewünschten Ablauf. Der Ablauf GetQuote ist beispielsweise eine gute Wahl. Sehen Sie sich dann die XML-Datei im Bereich „Code“ an. Dort werden der Ressourcenpfad und das Verb für den Ablauf im Element <Condition> angezeigt: /quote und GET.

Suchparameter

Wählen Sie den Ablauf GetQuote aus und klicken Sie in der grafischen Ablaufansicht auf die erste Richtlinie. Es sollte eine Richtlinie zum Extrahieren von Variablen sein, die Suchparameter erfasst, die übergeben werden müssen: StockSymbol und LicenseKey. Wenn Sie im Web nach dem SOAP-Dienst suchen, erfahren Sie, was Sie für den Lizenzschlüssel übergeben müssen.

Die erfassten Suchparameter werden als Variablen gespeichert und von der nächsten Richtlinie verwendet, um die SOAP-Nachricht zu erstellen.