Eseguire il proxy di un servizio SOAP

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Cosa imparerai a fare

Con questo tutorial imparerai a:

  • Genera un proxy API Edge da un file WSDL.
  • Scopri la differenza tra un tipo di proxy SOAP RESTful e un proxy SOAP passthrough.

In questo tutorial imparerai a visualizzare un proxy API Edge in un servizio web basato su SOAP.

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

Che cosa ti serve

Creazione del proxy in corso...

Qui dovrai fare in modo che Edge generi il proxy che risiederà di fronte 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 la chiamano come farebbero con altri servizi RESTful, passando i parametri di query necessari dal servizio di backend. Edge lo traduce nel payload SOAP previsto dal servizio.
  • Il tipo di proxy proxy pass-through consente ai client di passare semplicemente un payload SOAP. Questo è un modo per far sì che le chiamate di servizio SOAP traggano vantaggio dalle funzionalità di gestione perimetrale.

Perimetrale

Per eseguire il proxy di un servizio SOAP utilizzando l'interfaccia utente Edge:

  1. Accedi ad apigee.com/edge.
  2. Seleziona Sviluppo > Proxy API nella barra di navigazione a sinistra.
  3. Fai clic su +Proxy.
  4. Fai clic su Servizio SOAP.
  5. Nella pagina Dettagli proxy, inserisci i seguenti valori:

    Campo Descriptoin
    Origine WSDL

    Seleziona: URL

    Copia e incolla il seguente URL WSLD 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 così com'è: delayedstockquote

    Questo è il nome del proxy API che stai creando.

    Percorso base Lascia così com'è: /delayedstockquote
    Descrizione Se vuoi, aggiungi una descrizione, ad esempio: Proxy API WSDL per le quotazioni di borsa
  6. Fai clic su Avanti.
  7. Nella pagina Criteri comuni, in Sicurezza: autorizzazione, seleziona Superato (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 mostra l'elenco delle operazioni per cui genererà percorsi dell'API REST. Questo elenco consente di scegliere tra le operazioni presenti in WSDL (nel caso in cui tu disponga di un set particolare). Nota 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 della pagina.

  10. Fai clic su Avanti.
  11. Accetta le impostazioni predefinite 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 e ne esegue il deployment nell'ambiente test. Da WSDL, determina le operazioni supportate, i parametri di input e così via del servizio. Edge suggerisce il metodo HTTP da utilizzare per ogni operazione. In genere, Edge converte le operazioni in richieste GET, che hanno il vantaggio di essere memorizzabili nella cache. Edge configura anche l'endpoint di destinazione del backend, che può variare in base all'operazione SOAP.

    A meno che tu non stia personalizzando il nuovo proxy API (e non sei in questo tutorial), non devi fare altro. Puoi passare al test del nuovo proxy API.

Classic Edge (private cloud)

Per eseguire il proxy di un servizio SOAP utilizzando l'interfaccia utente classica di 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 Dettagli proxy, inserisci i seguenti valori:

    Campo Descriptoin

    Seleziona: URL di esempio

    Quindi 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 del proxy e Descrizione Lascia così com'è.
  6. Fai clic su Avanti.
  7. Nella pagina WSDL, seleziona le seguenti opzioni:
    In questo campo fai questo
    Tipo di proxy API

    Seleziona: REST to SOAP to REST

    Dopo aver selezionato il tipo di proxy, Edge mostra l'elenco delle operazioni per cui genererà percorsi dell'API REST, come mostrato qui. Questo elenco ti offre la possibilità di scegliere tra le operazioni presenti nel file WSDL (se ti interessa un set specifico). Nota che la tabella mostra anche le risorse che un client REST può utilizzare per chiamare il servizio SOAP di backend.

    Per ora, 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 le impostazioni predefinite dell'host virtuale e fai clic su Avanti.
  12. Nella pagina Build, 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. Da WSDL, determina le operazioni supportate, i parametri di input e così via del servizio. Edge suggerisce il metodo HTTP da utilizzare per ogni operazione. In genere, Edge converte le operazioni in richieste GET, che hanno il vantaggio di essere memorizzabili nella cache. Edge configura anche l'endpoint di destinazione del backend, che può variare in base all'operazione SOAP.

    A meno che tu non stia personalizzando il nuovo proxy (e non sei in questo tutorial), non devi fare altro. Puoi procedere con il test del nuovo proxy.

Test del proxy in corso...

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

  • ORG è il nome dell'organizzazione Edge in cui hai creato il proxy.
  • ENV è l'ambiente in cui viene 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 Edge Enterprise, devi eseguire un comando come questo:

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 corrente per il titolo Alphabet Inc. di 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
      }
   }
}

Ricevi la specifica OpenAPI generata automaticamente

Quando esegui il proxy per 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 l'API.

Per ottenere le specifiche OpenAPI, visita questo URL:

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

Crediti extra: come si fa a scoprire quali parametri di risorse, verbi e 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 fare a scoprirlo autonomamente?

Risorsa e verbo

Nella procedura guidata per il proxy dell'API, durante la creazione del proxy hai visto come le operazioni SOAP sarebbero state mappate ai verbi e alle risorse delle API. Tuttavia, se non li hai annotati, ecco come lo scopriresti dopo aver creato il proxy.

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

Parametri di ricerca

Con il flusso GetQuote selezionato, fai clic sul primo criterio nella visualizzazione grafica del flusso. Deve essere un criterio Estrai variabili che acquisisce i parametri di query che dovrebbero essere trasmessi: StockSymbol e LicenseKey. Se cerchi il servizio SOAP sul Web, ti viene indicato cosa passare per il codice LicenseKey.

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