Proxy eines SOAP-Dienstes

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Lerninhalte

In dieser Anleitung lernen Sie Folgendes:

  • Generieren Sie einen Edge-API-Proxy aus einer WSDL-Datei.
  • Informieren Sie sich über den Unterschied zwischen einem RESTful-SOAP-Proxy-Typ und einem Pass-Through-SOAP-Proxy.

In dieser Anleitung erfahren Sie, wie Sie einen Edge API-Proxy vor einem SOAP-basierten Webdienst platzieren.

In dieser Anleitung erfahren Sie, wie Sie eine neue RESTful API vor Ihrem SOAP-basierten Dienst generieren. Sie können auch einen Pass-Through-Proxy generieren, der eine SOAP-Nutzlast akzeptiert und an den Back-End-Dienst übergibt, auch wenn dies hier nicht im Detail beschrieben wird.

Voraussetzungen

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

Proxy erstellen

Hier generiert Edge den Proxy, der einem SOAP-Dienst vorangestellt ist. Es gibt zwei Arten von SOAP-API-Proxys:

  • REST-SOAP-REST Proxytyp generiert eine neue RESTful API mit einer Übersetzungsebene in SOAP. Clients rufen ihn wie andere RESTful-Dienste auf und übergeben die vom Back-End-Dienst benötigten Abfrageparameter. Edge übersetzt dies in die vom Dienst erwartete SOAP-Nutzlast.
  • Mit dem Proxytyp Passthrough-Proxy können Clients einfach eine SOAP-Nutzlast übergeben. Auf diese Weise profitieren SOAP-Dienstaufrufe von Edge-Verwaltungsfunktionen.

Edge

So stellen Sie einen Proxy für einen SOAP-Dienst über die Edge-Benutzeroberfläche bereit:

  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 Seite „Proxydetails“ Folgendes ein:

    Feld Beschreibung
    WSDL-Quelle

    Wählen Sie URL aus.

    Kopieren Sie die folgende WSLD-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 der SOAP-Dienst unterstützt.

    Name

    Keine Änderungen vornehmen: delayedstockquote

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

    Basispfad Keine Änderungen vornehmen: /delayedstockquote
    Beschreibung Fügen Sie optional eine Beschreibung hinzu, z. B. Stock quote WSDL API Proxy.
  6. Klicken Sie auf Weiter.
  7. Wählen Sie auf der Seite Allgemeine Richtlinien unter Sicherheit: Autorisierung die Option Pass through (no authorization) aus.
  8. Klicken Sie auf Weiter.
  9. Wählen Sie auf der Seite WSDL-Vorgänge die Option REST to SOAP to REST aus.

    Nachdem Sie den Proxytyp ausgewählt haben, zeigt Edge die Liste der Vorgänge an, für die REST API-Pfade generiert werden. Mithilfe dieser Liste können Sie aus den in der WSDL gefundenen Vorgängen auswählen (falls Sie einen bestimmten Satz suchen). Die Tabelle enthält auch Ressourcen, mit denen ein REST-Client den Back-End-SOAP-Dienst aufrufen kann.

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

  10. Klicken Sie auf Weiter.
  11. Akzeptieren Sie die Standardeinstellungen des virtuellen Hosts, indem Sie auf Weiter klicken.
  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. Anhand der WSDL werden die vom Dienst unterstützten Vorgänge, Eingabeparameter usw. ermittelt. Edge schlägt vor, welche HTTP-Methode für den jeweiligen 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 Back-End-Zielendpunkt ein, der je nach SOAP-Vorgang variieren kann.

    Sofern Sie den neuen API-Proxy nicht anpassen (was Sie in dieser Anleitung nicht tun), ist das nichts. Sie können mit dem Testen des neuen API-Proxys fortfahren.

Classic Edge (Private Cloud)

So stellen Sie einen SOAP-Dienst mithilfe der Classic Edge-Benutzeroberfläche als Proxy bereit:

  1. Melden Sie sich bei http://ms-ip:9000 an, wobei ms-ip die IP-Adresse oder der DNS-Name des Knotens des Verwaltungsservers ist.
  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 Seite „Proxydetails“ Folgendes ein:

    Feld Beschreibung
    WSDL

    Wählen Sie die Beispiel-URL aus.

    Wählen Sie dann Folgendes aus:
    ...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 der SOAP-Dienst unterstützt.

    Proxy-Name

    Eingeben: delayedstockquote

    Dies ist der Name des Proxys, den Sie erstellen.

    Proxy-Basispfad und Beschreibung Unverändert beibehalten
  6. Klicken Sie auf Weiter.
  7. Treffen Sie auf der WSDL-Seite folgende Auswahl:
    In diesem Feld tun Sie Folgendes
    API-Proxy-Typ

    Wählen Sie REST zu SOAP zu REST aus.

    Nachdem 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. Bei dieser Liste haben Sie die Möglichkeit, aus den in der WSDL gefundenen Vorgängen auszuwählen (falls Sie einen bestimmten Satz benötigen). Die Tabelle enthält auch Ressourcen, mit denen ein REST-Client den Back-End-SOAP-Dienst aufrufen kann.

    Lassen Sie vorerst den ersten Satz 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 Pass through (none) aus.
  10. Klicken Sie auf Weiter.
  11. Übernehmen Sie die Standardeinstellungen des virtuellen Hosts und klicken Sie auf Weiter.
  12. Übernehmen Sie auf der Seite "Build" die Standardwerte und klicken Sie auf Build and Deploy (Erstellen und bereitstellen), damit Edge den Proxy generiert.

    Edge generiert einen RESTful API-Proxy. Anhand der WSDL werden die vom Dienst unterstützten Vorgänge, Eingabeparameter usw. ermittelt. Edge schlägt vor, welche HTTP-Methode für den jeweiligen 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 Back-End-Zielendpunkt ein, der je nach SOAP-Vorgang variieren kann.

    Sofern Sie den neuen Proxy nicht anpassen (und dies nicht in dieser Anleitung beschrieben wird), ist das nichts weiter. Sie können mit dem Testen des neuen Proxys fortfahren.

Proxy testen

Um den von Ihnen erstellten Proxy auszuprobieren, öffnen Sie eine Eingabeaufforderung und verwenden cURL. Geben Sie dabei den folgenden Befehl ein:

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

Wenn Ihre Organisation beispielsweise docfood ist, die Umgebung test ist 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 Abfrageparameter „StockSymbol“ eingegeben haben, sollten Sie den aktuellen Preis für Aktie der Klasse C von Alphabet Inc. 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 Proxy für einen SOAP-Dienst mit "REST to SOAP to REST" verwenden, generiert Edge automatisch eine OpenAPI-Spezifikation. Sie können die OpenAPI-Spezifikation verwenden, um eine API-Dokumentation für die API zu generieren.

Die OpenAPI-Spezifikation finden Sie unter der folgenden URL:

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

Zusätzlicher Beitrag: Wie finden Sie heraus, welche Ressource, welches Verb und welche Abfrageparameter Sie verwenden sollen?

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

Ressource und Verb

Beim Erstellen des Proxys haben Sie im API-Proxy-Assistenten gesehen, wie die SOAP-Vorgänge API-Verben und -Ressourcen zugeordnet werden würden. Wenn Sie diese jedoch nicht aufgeschrieben haben, erfahren Sie das so, nachdem der Proxy erstellt wurde.

Auf dem Tab Entwickeln des API-Proxys wird im linken Navigationsbereich eine Liste von Abläufen unter den Proxyendpunkten angezeigt. Klicken Sie auf den gewünschten Ablauf. Der Ablauf GetQuote eignet sich z. B. gut. Sehen Sie sich dann die XML-Datei im Codebereich an, die den Ressourcenpfad und das Verb für den Ablauf im <Condition>-Element enthält: /quote und GET.

Abfrageparameter

Klicken Sie bei ausgewähltem Ablauf GetQuote auf die erste Richtlinie in der grafischen Ablaufansicht. Es sollte eine Richtlinie zum Extrahieren von Variablen sein, mit der Abfrageparameter erfasst werden, die übergeben werden sollen: StockSymbol und LicenseKey. Wenn Sie im Web nach dem SOAP-Dienst suchen, wird angegeben, was als Lizenzschlüssel übergeben werden soll.

Die erfassten Abfrageparameter werden als Variablen gespeichert und von der nächsten Richtlinie zum Erstellen der SOAP-Nachricht verwendet.