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.
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.
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.
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>
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
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 :