Transmettre un proxy à un service SOAP

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Points abordés

Dans ce tutoriel, vous allez apprendre à effectuer les opérations suivantes :

  • Générez un proxy d'API Edge à partir d'un fichier WSDL.
  • Connaître la différence entre un type de proxy SOAP RESTful et un protocole SOAP de passage proxy.

Dans ce tutoriel, vous apprendrez à placer un proxy d'API Edge devant un serveur Web Google Cloud.

Ce tutoriel explique comment générer une nouvelle API RESTful devant vos requêtes Google Cloud. Bien que cela ne soit pas décrit en détail ici, vous pouvez également générer un proxy pass-through qui accepte une charge utile SOAP et la transmet au service de backend.

Prérequis

  • Un compte Apigee Edge. Si vous n'en avez pas encore, vous pouvez vous inscrire à l'aide des instructions de la section Créer un compte Apigee Edge.

Créer le proxy

Ici, vous demanderez à Edge de générer le proxy qui se trouvera devant un service SAP. Il existe deux types de proxys d'API SOAP:

  • REST-SOAP-REST génère une nouvelle API RESTful avec une traduction vers le protocole SOAP. Les clients l'appellent comme ils le feraient pour d'autres services RESTful, en transmettant la requête nécessaires au service de backend. Edge le traduit en charge utile SOAP attendu par le service.
  • Le type de proxy pass-through Proxy permet aux clients de transmettre simplement une charge utile SOAP. Cela permet de faire en sorte que les appels au service SOAP bénéficient des fonctionnalités de gestion Edge.

Edge

Pour transmettre un proxy à un service SOAP à l'aide de l'interface utilisateur Edge:

  1. Connectez-vous à apigee.com/edge.
  2. Sélectionnez Développer > Proxys API dans la barre de navigation de gauche.
  3. Cliquez sur +Proxy.
  4. Cliquez sur Service SOAP.
  5. Sur la page "Détails du proxy", saisissez la commande suivante:

    Champ Description
    Source WSDL

    Sélectionnez: URL

    Copiez et collez l'URL WSLD suivante dans le champ Saisissez une URL:

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

    Clic: Valider

    Apigee Edge récupère le fichier WSDL et le lit pour découvrir la liste des opérations. compatibles avec le service SOAP.

    Nom

    Ne pas modifier: delayedstockquote

    Il s'agit du nom du proxy d'API que vous créez.

    Chemin de base Ne pas modifier: /delayedstockquote
    Description Vous pouvez également ajouter une description, telle que: Cours boursier du proxy d'API WSDL
  6. Cliquez sur Suivant.
  7. Sur la page Règles communes, sous Sécurité: Autorisation, sélectionnez Passthrough (aucune autorisation).
  8. Cliquez sur Suivant.
  9. Sur la page WSDL Operations (Opérations WSDL), sélectionnez REST to supérieure (SOAP) à REST.

    Une fois que vous avez sélectionné le type de proxy, Edge affiche la liste des opérations pour lesquelles les chemins d'accès à l'API REST sont générés. Cette liste vous permet faites votre choix parmi les opérations trouvées dans le fichier WSDL (si vous avez une que vous recherchez). Notez que la table affiche également les ressources qui permet au client REST d'appeler le service SOAP de backend.

    Ne modifiez aucune autre sélection de la page.

  10. Cliquez sur Suivant.
  11. Acceptez les valeurs par défaut de l'hôte virtuel en cliquant sur Next (Suivant).
  12. Sur la page Summary (Résumé), sous Optional Deployment, cliquez sur Test, puis sur Create and deploy (Créer et déployer).

    Edge génère un proxy d'API RESTful et le déploie dans l'environnement test. À partir du WSDL, il détermine le les opérations prises en charge, les paramètres d'entrée, etc. Edge suggère la méthode HTTP à utiliser pour chaque opération. Généralement, Edge traduit les opérations en demandes GET, qui ont présente l'avantage d'être mis en cache. Edge configure également le point de terminaison cible du backend, qui peut varier selon les opérations SOAP.

    À moins que vous ne personnalisiez le nouveau proxy d'API (et que vous n'êtes pas dans ce tutoriel), c'est tout ce qu'il y a à faire. Vous pouvez passer au test du nouveau proxy d'API.

Classic Edge (cloud privé)

Pour transmettre un proxy à un service SOAP à l'aide de l'interface utilisateur Classic Edge:

  1. Connectez-vous à http://ms-ip:9000, où ms-ip est le Adresse IP ou nom DNS du nœud du serveur de gestion.
  2. Sélectionnez API > Proxies d'API dans la barre de navigation supérieure.
  3. Cliquez sur + Proxy d'API.
  4. Cliquez sur Service SOAP.
  5. Sur la page "Détails du proxy", saisissez la commande suivante:

    Champ Description
    WSDL

    Sélectionnez: Exemple d'URL

    Sélectionnez ensuite:
    ...delayedstockquote.asmx?WSDL

    Clic: Valider

    Apigee Edge récupère le fichier WSDL et le lit pour découvrir la liste des opérations. compatibles avec le service SOAP.

    Proxy Name (Nom du proxy)

    Saisissez : delayedstockquote

    Il s'agit du nom du proxy que vous créez.

    Proxy Base Path (Chemin de base du proxy) et description Ne modifiez aucune valeur.
  6. Cliquez sur Suivant.
  7. Sur la page WSDL, effectuez les sélections suivantes:
    Dans ce champ procédez comme suit
    Type de proxy d'API

    Sélectionnez: De REST à SAP sur REST.

    Une fois que vous avez sélectionné le type de proxy, Edge affiche la liste des opérations pour lesquelles les chemins d'accès à l'API REST sont générés, comme illustré ici. Cette liste vous donne la possibilité de faites votre choix parmi les opérations trouvées dans le fichier WSDL (si vous avez une que vous recherchez). Notez que la table affiche également les ressources qui permet au client REST d'appeler le service SOAP de backend.

    Pour l'instant, laissez simplement le premier ensemble d'opérations sélectionné.

    Type de port: DelayedStockCitationSoap Sélectionnez les trois opérations WSDL. Ne modifiez pas les autres paramètres.

  8. Cliquez sur Suivant.
  9. Sur la page "Sécurité", sélectionnez Passthrough (none).
  10. Cliquez sur Suivant.
  11. Acceptez les paramètres par défaut de l'hôte virtuel, puis cliquez sur Next (Suivant).
  12. Sur la page "Build", acceptez les valeurs par défaut, puis cliquez sur Build and Deploy (Compiler et déployer) pour pour qu'Edge commence à générer le proxy.

    Edge génère un proxy d'API RESTful. À partir du WSDL, il détermine le les opérations prises en charge, les paramètres d'entrée, etc. Edge suggère la méthode HTTP à utiliser pour chaque opération. Généralement, Edge traduit les opérations en demandes GET, qui ont présente l'avantage d'être mis en cache. Edge configure également le point de terminaison cible du backend, qui peut varier selon les opérations SOAP.

    À moins que vous ne personnalisiez le nouveau proxy (et que vous n'êtes pas dans ce didacticiel), c'est tout ce qu'il y a à faire. Vous pouvez passer au test du nouveau proxy.

Tester le proxy

Pour tester le proxy que vous avez créé, ouvrez une invite de commande et utilisez cURL. Saisissez la commande ci-dessous, où:

  • ORG est le nom de l'organisation Edge dans laquelle vous avez créé le proxy.
  • ENV est l'environnement dans lequel le proxy est déployé.
  • DOMAIN correspond à l'instance Edge que vous utilisez.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Par exemple, si votre organisation est docfood, l'environnement est test et que vous utilisez le cloud d'entreprise Edge, vous devez exécuter une commande telle que ceci:

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

Si vous avez saisi GOOG pour le paramètre de requête StockSymbol, vous devriez obtenir le résultat suivant : le cours actuel des actions de classe C d'Alphabet Inc. Exemple :

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

Obtenir l'OpenAPI généré automatiquement Spécification

Lorsque vous utilisez le proxy d'un service SOAP en utilisant « REST à SAP vers REST », Edge génère automatiquement une spécification OpenAPI. Vous pouvez utiliser Spécification OpenAPI afin de générer la documentation de l'API pour l'API.

Pour obtenir la spécification OpenAPI, il vous suffit d'accéder à cette URL:

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

Bonus: comment déterminez-vous quels paramètres de ressource, de verbe et de requête utiliser ?

Dans l'appel d'API de test, vous avez utilisé une ressource et des paramètres de requête spécifiques dans votre appel cURL. au service SOAP de backend. Mais comment pouvez-vous le savoir par vous-même ?

Ressource et verbe

Dans l'assistant du proxy d'API, lors de la création du proxy, vous avez vu comment les opérations SOAP correspondrait aux verbes et ressources de l'API. Mais si vous ne les avez pas écrites, voici comment vous savoir après la création du proxy.

Dans l'onglet Develop (Développer) du proxy d'API, le volet de navigation de gauche contient une de flux sous les points de terminaison du proxy. Cliquez sur le flux qui vous intéresse. Par exemple : le flux GetQuote est un bon candidat. Affichez ensuite le fichier XML dans le volet Code, qui indique le chemin d'accès à la ressource et le verbe pour le flux dans la condition <Condition> : /quote et GET.

Paramètres de requête

Après avoir sélectionné le flux GetQuote, cliquez sur la première règle dans l'interface graphique flux d'affichage. Il doit s'agir d'une règle Extract Variables qui capture les paramètres de requête qui sont devant être transmis: StockSymbol et LicenseKey. (Si vous étudiez rechercher le service SOAP, il vous indique ce qu'il faut transmettre pour la clé de licence.)

Les paramètres de requête capturés sont enregistrés en tant que variables et utilisés par la règle suivante pour de créer le message SOAP.