Configuration des définitions de flot de documents pour un service Web

Pour définir une définition de flot de documents, téléchargez les fichiers WSDL (Web Service Definition Language) qui définissent le service Web, comme indiqué dans le Configuration du concentrateur. Vous pouvez également entrer manuellement les définitions de flot de documents via la Console de communauté.

Pour entrer manuellement les définitions de flot de documents, suivez les procédures indiquées à la section Création d'une définition de flot de documents. Vous devez également créer le flot de documents, l'activité et les entrées d'action individuellement sous le contrôle du service Web, comme décrit ci-dessous, en tenant bien compte des conditions requises pour les actions et ses relations avec les messages SOAP reçus.

En ce qui concerne les définitions de flot de documents en terme de module, protocole, flot de documents, activité, hiérarchie des actions, un service Web pris en charge se présente comme suit :

Module : Aucun (nom et code), version N/A
Protocole : Service Web (nom et code), version 1.0
Flot de documents : '{<espace-nom du service Web>}:<nom du service Web>' (nom et code), qui doit être unique parmi les flots de documents pour le protocole de service Web. Il s'agit normalement de l'espace-nom ou du nom de WSDL.
Activités : Une activité pour chaque opération de service Web avec le nom et le code :

'{<espace-nom de l'opération>}:<nom de l'opération>'
 

Actions : Une action pour le message d'entrée pour chaque opération avec le nom et le code :

'{<espace-nom de l'élément XML identifiant = premier enfant de soap:body>}:<nom de
 l'élément identifiant XML = premier enfant de soap:body>'
 

Les définitions critiques sont des actions car WebSphere Business Integration Connect va utiliser un espace-nom d'action et un nom pour reconnaître un message SOAP de demande de service Web de la communication entrante et l'acheminer de manière appropriée en fonction d'une connexion de participant définie. L'espace-nom et le nom du premier élément XML enfant de l'élément soap:body du message SOAP reçu doit correspondre à un nom d'espace et un d'action dans les définitions de flot de documents WebSphere Business Integration Connect.

Par exemple, si un message SOAP de demande de service Web se présente sous la forme suivante (pour une session de liaison SOAP de littéral document):

<?xml version="1.0" encoding="UTF-8"?>
  
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsd=
 "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
 2001/XMLSchema-instance">
  <soapenv:Body>
   <nameAndAddressElt xmlns="http://www.helloworld.com/xsd/helloDocLitSchema">
    <titleElt xmlns="">Mr</titleElt>
    <nameElt xmlns="">Joe Smith</nameElt>
    <addressElt xmlns="">
     <numberElt>123</numberElt>
     <streetElt>Elm St</streetElt>
     <cityElt>Peoria</cityElt>
    </addressElt>
   </nameAndAddressElt>
  </soapenv:Body>
 </soapenv:Envelope>
 

Alors, WebSphere Business Integration Connect cherchera une action de service Web définie avec le code suivant :

{http://www.helloworld.com/xsd/helloDocLitSchema}:nameAndAddressElt

Par exemple, pour un message de demande SOAP de type session de liaison RPC :

<?xml version="1.0" encoding="UTF-8"?>
  
 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:xsd=
 "http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
 2001/XMLSchema-instance">
  <soapenv:Body>
   <ns1:helloWorldRPC soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/
 encoding/ xmlns:ns1="http://www.helloworld.com/helloRPC">
    <name xsi:type="xsd:string">Joe Smith</name>
   </ns1:helloWorldRPC>
  </soapenv:Body>
 </soapenv:Envelope>
 

Alors, WebSphere Business Integration Connect cherchera une action de service Web définie avec le code suivant : {http://www.helloworld.com/helloRPC}:helloWorldRPC.

Pour une session de liaison RPC, l'espace-nom et le nom du premier élément enfant de soap:body d'un message de demande de SOAP devraient correspondre à l'espace-nom et au nom de l'opération du service Web applicable.

Pour une session de liaison de littéral document, l'espace-nom et le nom du premier élément enfant de soap:body d'un message de demande de SOAP devraient correspondre à l'espace-nom de l'attribut 'élément' XML dans la 'partie' élément de la définition de 'message' entrant pour le service Web.

Téléchargement de fichiers WSDL pour un service Web

La définition relative à un service Web doit être comprise dans un fichier principal WSDL muni de l'extension ".wsdl", qui devrait importer des fichiers WSDL supplémentaires via l'élément "importation". S'il existe des fichiers importés, ces derniers peuvent téléchargés avec le fichier principal à l'aide de l'une des commandes suivantes :

Exemple :

Le fichier principal WSDL 'helloworldRPC.wsdl' contient les informations suivantes :

'<espace-nom d'importation="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "bindingRPC.wsdl"/>'
 

Le fichier WSDL importé 'bindingRPC.wsdl' contient les informations suivantes :

'<espace-nom d'importation="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "port/porttypeRPC.wsdl"/>'
 

Le fichier Zip doit contenir les informations suivantes :

Nom                   Chemin
  
 helloworldRPC.wsdl
  
 bindingRPC.wsdl
  
 porttypeRPC.wsdl               port\
 

Lorsqu'un fichier de définition WSDL d'un service Web est téléchargé, le fichier WSDL d'origine est enregistré sous forme de mappe de validation. (Les messages de service Web ne sont validés par WebSphere Business Integration Connect. Ils sont transmis directement, avec l'URL du point d'extrémité du service d'origine.) C'est ce que l'on appelle le WSDL privé.

De plus, un WSDl public est enregistré avec l'URL privé remplacé par un URL cible, comme fourni par l'utilisateur dans l'entrée de téléchargement de flot de documents. Le WSDL public sera fourni aux utilisateurs du service Web, qui appelleront le service Web à l'URL de la cible (l'URL public). WebSphere Business Integration Connect achemine ensuite la demande de service Web à une passerelle qui est l'URL privé du fournisseur de service Web d'origine. WebSphere Business Integration Connect agit comme un proxy en transférant la demande de service Web à un URL de fournisseur privé, qui est caché à partir de l'utilisateur de service Web.

Les WSDL privé et public (y compris les fichiers importés) peuvent être téléchargés à partir de la Console de communauté après le téléchargement du WSDL.

Téléchargement des fichiers WSDL à l'aide de la Console de communauté

Business Integration Connect permet d'importer des fichiers WSDL. Si un service Web est défini dans un fichier WSDL simple, vous pouvez télécharger directement ce fichier WSDL. Si le service Web est défini à l'aide de plusieurs fichiers WSDL, (ceci se produit lorsque vous avez importé des fichiers WSDL, dans un fichier WSDL principal), ils seront téléchargés dans une archive ZIP.

Important: Les fichiers WSDL se trouvant dans l'archive ZIP doivent être dans un répertoire spécifié dans l'élément d'importation de WSDL. Par exemple, avec l'élément d'importation suivant : <espace-nom d'importation="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="path1/bindingRPC.wsdl"/>, la structure des répertoires de l'archive ZIP serait du type path1/bindingRPC.wsdl. Dans l'exemple qui suit : <espace-nom d'importation="http://www.helloworld.com/wsdl/helloRPC.wsdl" location="bindingRPC.wsdl"/>, le fichier bindingRPC.wsdl devrait se trouver à la racine dans l'archive ZIP.

Pour télécharger un fichier WSDL simple ou une archive ZIP, procédez comme suit.

  1. Cliquez sur Administrateur du concentrateur > Configuration du concentrateur > Définition du flot de document.
  2. Cliquez sur Téléchargement des modules.
  3. Sélectionnez Oui pour un module WSDL afin de télécharger un fichier WSDL. Dans la zone URL public du service Web, entrez l'URL public du service Web fourni par le Gestionnaire de communauté (lequel sera appelé par un participant). Par exemple, http(s)://<hôte cible:port>/bcgreceiver/Receiver. L'URL correspond généralement à la cible HTTP de production définie dans les cibles.

    Si le service Web est fourni par un participant (qui sera appelé par le Gestionnaire de communauté), entrez l'URL public avec une chaîne de requête. Par exemple, http(s)://<hôte cible:port>/bcgreceiver/Receiver?to=<ID Métier du participant>

  4. Cliquez sur Parcourir et sélectionnez le fichier WSDL ou l'archive ZIP.
  5. Pour la validation dans la base de données, sélectionnez Non si vous voulez télécharger le fichier en mode test. Lorsque vous sélectionnez Non, le fichier ne sera pas installé sur le système. Utilisez les messages générés par le système affichés dans la boîte de messages afin de résoudre les erreurs de téléchargement. Sélectionnez Oui pour télécharger le fichier dans la base de données du système.
  6. Pour l'écrasement des données, sélectionnez Oui pour remplacer un fichier se trouvant actuellement dans la base de données. Sélectionnez Non pour ajouter le fichier à la base de données.
  7. Cliquez sur Télécharger. Le fichier WSDL est installé dans le système.

Validation des modules à l'aide des fichiers schéma

Un ensemble de schémas XML décrivant les fichiers XML qui peuvent être téléchargés via la console est fourni sur le support Business Integration Connect installation. Les fichiers téléchargés sont validés pour ces schémas. Les fichiers schéma constituent une référence très utile pour la détermination des causes d'erreur lorsqu'un fichier ne peut pas être téléchargé en raison d'un XML non conforme. Les fichiers sont les suivants : wsdl.xsd, wsdlhttp.xsd et wsdlsoap.xsd, qui contiennent le schéma décrivant les fichiers WSDL (Web Service Definition Language)

Les fichiers se trouvent dans : B2BIntegrate\packagingSchemas

Configuration d'une interaction pour un nouveau service Web

La dernière étape de création de définitions de flot de documents pour un nouveau service Web consiste à configurer une interaction avec la même action de flot de documents de service Web à la fois en tant que source et cible.

Pour créer des interactions, procédez comme suit :

  1. Cliquez sur Administrateur du concentrateur > Configuration du concentrateur > Définition du flot de document.
  2. Cliquez sur Gestion des interactions.
  3. Cliquez sur Création d'une interaction.
  4. Sélectionnez Passe-système à partir de la liste déroulante Action au bas de l'écran (Passe-système est la seule option correcte prise en charge dans WebSphere Business Integration Connect pour un service Web).

Copyright IBM Corp. 1997, 2004