Eseguire il proxy di un servizio SOAP

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Cosa imparerai a fare

In questo tutorial imparerai a:

  • Generare un proxy API Edge da un file WSDL.
  • Conoscere la differenza tra un tipo di proxy SOAP RESTful e un proxy SOAP pass-through.

In questo tutorial imparerai a inserire un proxy API Edge davanti a un servizio web basato su SOAP.

Questo tutorial illustra come generare una nuova API RESTful davanti al servizio basato su SOAP. Sebbene non sia descritto in dettaglio qui, puoi anche generare un proxy pass-through che accetta un payload SOAP e lo passa al servizio di backend.

Che cosa ti serve

Creazione del proxy

Qui, Edge genererà il proxy che si troverà davanti a un servizio SOAP. Esistono due tipi di proxy API SOAP:

  • Il tipo di proxy**REST-SOAP-REST** genera una nuova API RESTful con un livello di traduzione in SOAP. I client lo chiamano come farebbero con altri servizi RESTful, passando i parametri di query richiesti dal servizio di backend. Edge li traduce nel payload SOAP previsto dal servizio.
  • Il tipo di proxy pass-through consente ai client di passare semplicemente un payload SOAP. In questo modo, le chiamate ai servizi SOAP possono usufruire delle funzionalità di gestione di Edge.

Edge

Per generare il proxy di un servizio SOAP utilizzando la UI di Edge:

  1. Accedi a apigee.com/edge.
  2. Seleziona Sviluppa > Proxy API nella barra di navigazione a sinistra.
  3. Fai clic su +Proxy.
  4. Fai clic su Servizio SOAP.
  5. Nella pagina dei dettagli del proxy, inserisci i seguenti dati:

    Campo Descrizione
    Origine WSDL

    Seleziona: URL

    Copia e incolla il seguente URL WSDL nel campo Inserisci URL:

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

    Fai clic su: Convalida

    Apigee Edge recupera il file WSDL e lo legge per scoprire l'elenco delle operazioni supportate dal servizio SOAP.

    Nome

    Lascia invariato: delayedstockquote

    Questo è il nome del proxy API che stai creando.

    Percorso di base Lascia invariato: /delayedstockquote
    Descrizione (Facoltativo) Aggiungi una descrizione, ad esempio: Proxy API WSDL per le quotazioni azionarie
  6. Fai clic su Avanti.
  7. Nella pagina Criteri comuni, in Sicurezza: autorizzazione, seleziona Pass-through (nessuna autorizzazione).
  8. Fai clic su Avanti.
  9. Nella pagina Operazioni WSDL, seleziona: REST to SOAP to REST.

    Una volta selezionato il tipo di proxy, Edge visualizza l'elenco delle operazioni per cui genererà i percorsi API REST. Questo elenco ti consente di selezionare le operazioni trovate nel WSDL (nel caso in cui tu abbia un insieme specifico che stai cercando). Tieni presente che la tabella mostra anche le risorse che un client REST può utilizzare per chiamare il servizio SOAP di backend.

    Lascia invariate tutte le altre selezioni nella pagina.

  10. Fai clic su Avanti.
  11. Accetta i valori predefiniti dell'host virtuale facendo clic su Avanti.
  12. Nella pagina Riepilogo , in Deployment facoltativo, fai clic su Test e poi su Crea ed esegui il deployment.

    Edge genera un proxy API RESTful ed esegue il deployment nell'ambiente test. Dal WSDL, determina le operazioni supportate dal servizio, i parametri di input e così via. Edge suggerisce il metodo HTTP da utilizzare per ogni operazione. In genere, Edge traduce le operazioni in richieste GET, che hanno il vantaggio di essere memorizzabili nella cache. Edge configura anche l'endpoint di destinazione di backend, che può variare in base all'operazione SOAP.

    A meno che tu non stia personalizzando il nuovo proxy API (cosa che non farai in questo tutorial), non c'è altro da fare. Puoi passare al test del nuovo proxy API.

Classic Edge (Private Cloud)

Per generare il proxy di un servizio SOAP utilizzando la UI di Classic Edge:

  1. Accedi a http://ms-ip:9000, dove ms-ip è l' indirizzo IP o il nome DNS del nodo del server di gestione.
  2. Seleziona API > Proxy API nella barra di navigazione in alto.
  3. Fai clic su + Proxy API.
  4. Fai clic su Servizio SOAP.
  5. Nella pagina dei dettagli del proxy, inserisci i seguenti dati:

    Campo Descrizione
    WSDL

    Seleziona: URL di esempio

    Poi seleziona:
    ...delayedstockquote.asmx?WSDL

    Fai clic su: Convalida

    Apigee Edge recupera il file WSDL e lo legge per scoprire l'elenco delle operazioni supportate dal servizio SOAP.

    Nome proxy

    Inserisci: delayedstockquote

    Questo è il nome del proxy che stai creando.

    Percorso di base proxy e Descrizione Lascia invariato.
  6. Fai clic su Avanti.
  7. Nella pagina WSDL, effettua le seguenti selezioni:
    In questo campo Esegui questa operazione
    Tipo di proxy API

    Seleziona: REST to SOAP to REST

    Una volta selezionato il tipo di proxy, Edge visualizza l'elenco delle operazioni per cui genererà i percorsi API REST, come mostrato qui. Questo elenco ti consente di selezionare le operazioni trovate nel WSDL (nel caso in cui tu abbia un insieme specifico che stai cercando). Tieni presente che la tabella mostra anche le risorse che un client REST può utilizzare per chiamare il servizio SOAP di backend.

    Per il momento, lascia selezionato il primo insieme di operazioni.

    Tipo di porta: DelayedStockQuoteSoap Seleziona tutte e tre le operazioni WSDL. Lascia invariate le altre impostazioni.

  8. Fai clic su Avanti.
  9. Nella pagina Sicurezza, seleziona Pass-through (nessuno).
  10. Fai clic su Avanti.
  11. Accetta i valori predefiniti dell'host virtuale e fai clic su Avanti.
  12. Nella pagina Crea, accetta i valori predefiniti e fai clic su Crea ed esegui il deployment per fare in modo che Edge inizi a generare il proxy.

    Edge genera un proxy API RESTful. Dal WSDL, determina le operazioni supportate dal servizio, i parametri di input e così via. Edge suggerisce il metodo HTTP da utilizzare per ogni operazione. In genere, Edge traduce le operazioni in richieste GET, che hanno il vantaggio di essere memorizzabili nella cache. Edge configura anche l'endpoint di destinazione di backend, che può variare in base all'operazione SOAP.

    A meno che tu non stia personalizzando il nuovo proxy (cosa che non farai in questo tutorial), non c'è altro da fare. Puoi passare al test del nuovo proxy.

Test del proxy

Per provare il proxy che hai creato, apri un prompt dei comandi e utilizza cURL. Digita il comando riportato di seguito, dove:

  • ORG è il nome dell'organizzazione Edge in cui hai creato il proxy.
  • ENV è l'ambiente in cui è stato eseguito il deployment del proxy.
  • DOMAIN corrisponde all'istanza Edge che stai utilizzando.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Ad esempio, se la tua organizzazione è docfood, l'ambiente è test, e utilizzi il cloud aziendale Edge, esegui un comando simile al seguente:

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

Se hai inserito GOOG per il parametro di query StockSymbol, dovresti ottenere il prezzo attuale delle azioni di Alphabet Inc. Classe C. Ad esempio:

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

Recuperare la specifica OpenAPI generata automaticamente

Quando generi il proxy di un servizio SOAP utilizzando "REST to SOAP to REST," Edge genera automaticamente una specifica OpenAPI. Puoi utilizzare la specifica OpenAPI per generare la documentazione dell'API.

Per ottenere la specifica OpenAPI, visita questo URL:

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

Approfondimento: come faccio a scoprire quali risorse, verbi e parametri di query utilizzare?

Nella chiamata API di test, hai utilizzato una risorsa e parametri di query specifici nella chiamata cURL al servizio SOAP di backend. Ma come faresti a scoprirlo da solo?

Risorsa e verbo

Nella procedura guidata del proxy API, durante la creazione del proxy, hai visto come le operazioni SOAP vengono mappate ai verbi e alle risorse API. Ma se non li hai annotati, ecco come puoi scoprirli dopo la creazione del proxy.

Nella scheda Sviluppa del proxy API, nel riquadro di navigazione a sinistra vedrai un elenco di flussi sotto gli endpoint proxy. Fai clic sul flusso che ti interessa. Ad esempio, il GetQuote flusso è un buon candidato. Visualizza poi l'XML nel riquadro Codice, che mostra il percorso della risorsa e il verbo per il flusso nell'elemento <Condition>: /quote e GET.

Parametri di query

Con il flusso GetQuote selezionato, fai clic sul primo criterio nella visualizzazione del flusso grafico Dovrebbe trattarsi di un criterio Estrai variabili che acquisisce i parametri di query che devono essere passati: StockSymbol e LicenseKey. (Se cerchi il servizio SOAP sul web, ti viene indicato cosa passare per LicenseKey.)

I parametri di query acquisiti vengono salvati come variabili e utilizzati dal criterio successivo per costruire il messaggio SOAP.