Services Web

Un participant peut demander un Service Web fourni par le Gestionnaire de communauté. Un Gestionnaire de Communauté peut également demander un Service Web fourni par un participant. Le participant ou le Gestionnaire de communauté appelle le serveur WebSphere Partner Gateway pour obtenir le Service Web. WebSphere Partner Gateway agit comme un proxy en transférant la demande de Service Web au fournisseur d'accès du Service Web et en renvoyant la réponse de manière synchrone, du fournisseur au demandeur.

La présente section comprend les informations suivantes pour configurer un Service Web qui sera utilisé par un participant ou Gestionnaire de communauté.

Identification des participants pour un Service Web

Lorsqu'un Service Web est fourni par le Gestionnaire de communauté pour être utilisé par des participants, WebSphere Partner Gateway impose que le participant s'identifie. Lorsque vous postez la demande de Service Web, définissez l'identité de l'une des façons suivantes :

  1. Utilisez l'authentification de base HTTP avec un ID utilisateur de la forme <ID métier du participant>/<nom de l'utilisateur de la console> (par exemple 123456789/joesmith), et le mot de passe du nom d'utilisateur de la console.
  2. Présentez un certificat client SSL qui a déjà été chargé dans WebSphere Partner Gateway pour le participant.

Lorsque le Service Web est fourni par un participant pour être utilisé par le Gestionnaire de communauté, l'URL public utilisé par le Gestionnaire de communauté pour appeler le Service Web ne doit pas contenir la chaîne de requête ?to=<ID métier du participant> . Exemple :

http://<adresse_IP>/bcgreceiver/Receiver?to=123456789

Ceci indique à WebSphere Partner Gateway que le fournisseur du Service Web est le participant dont l'ID métier est 123456789.

Création de définitions de flots de documents

Pour effectuer la définition de flot de documents, téléchargez les fichiers WSDL (Web Service Definition Language) qui définissent le Service Web, ou entrez manuellement les définitions équivalents de flots de documents par la Console de communauté.

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 avec l'extension .wsdl, qui peut importer des fichiers WSDL supplémentaires via l'élément import. Les éventuels fichiers importés peuvent être téléchargés avec le fichier principal selon l'une des méthodes suivantes :

Par exemple, si le fichier WSDL principal helloworldRPC.wsdl contient l'élément import suivant :

<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "bindingRPC.wsdl"/>

Et que le fichier WSDL bindingRPC.wsdl importé contient l'élément import suivant :

<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl" location=
 "port/porttypeRPC.wsdl"/>

Le fichier 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 pas réellement validés par WebSphere Partner Gateway. Ils sont transmis directement, avec l'URL du point d'extrémité du service d'origine.) C'est ce qu'on appelle le WSDL privé.

De plus, un WSDl public est enregistré avec l'URL privé remplacé par l'URL cible indiqué par l'utilisateur dans la page Page Téléchargement des regroupements. Le WSDL public sera fourni aux utilisateurs du Service Web, qui appelleront le Service Web à l'URL de la cible (l'URL public). WebSphere Partner Gateway achemine ensuite la demande de Service Web à une passerelle qui est l'URL privé du fournisseur de Service Web d'origine. WebSphere Partner Gateway agit comme un proxy en transférant la demande de Service Web à un URL de fournisseur privé, inconnu 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é

WebSphere Partner Gateway propose une méthode d' importation 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 compressée.

Important : Les fichiers WSDL se trouvant dans l'archive compressée doivent figurer dans un répertoire spécifié dans l'élément d'importation de WSDL. Supposons par exemple que vous ayez l'élément import suivant :
<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl"
 location="path1/bindingRPC.wsdl"/>
L'arborescence des répertoires de l'archive compressée zip sera : path1/bindingRPC.wsdl .

Pour l'exemple suivant :

<import namespace="http://www.helloworld.com/wsdl/helloRPC.wsdl"
  location="bindingRPC.wsdl"/>.

Le fichier bindingRPC.wsdl sera au niveau racine de l'archive.

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

  1. Cliquez sur Administrateur du concentrateur > Configuration du concentrateur > Définition du flot de documents.
  2. Cliquez sur Téléchargement des regroupements.
  3. Pour Module WSDL, cliquez sur Oui.
  4. Pour URL public du Service Web, appliquez une des procédures suivantes :
  5. Cliquez sur Parcourir et sélectionnez le fichier WSDL ou l'archive compressée.
  6. 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.
  7. 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.
  8. Cliquez sur Télécharger. Le fichier WSDL est installé dans le système.
Validation des regroupements à l'aide des fichiers schéma

Plusieurs schémas XML décrivant les fichiers XML qui peuvent être téléchargés via la console sont fournis sur le support d'installation WebSphere Partner Gateway. 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

Création manuelle d'une définition de flot de documents

Pour entrer manuellement les définitions équivalentes de flot de documents, suivez les procédures indiquées dans cette section. Vous devez également créer individuellement le flot de documents, l'activité et les entrées d'action sous Protocole : Services Web, en tenant bien compte des conditions requises par l'action et de ses relations avec les messages SOAP reçus.

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

Les définitions critiques sont les actions car WebSphere Partner Gateway va utiliser un espace-nom d'action et un nom pour reconnaître un message SOAP de demande de Service Web entrant, et l'acheminer de manière appropriée en fonction d'une connexion donnée de participant. L'espace-nom et le nom du premier enfant de l'élément XML soap:body du message SOAP reçu doivent correspondre à un espace de nom et à un nom d'action dans les définitions de flot de documents WebSphere Partner Gateway.

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 Partner Gateway 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 Partner Gateway 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 doivent être l'espace-nom et le 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 SOAP devraient correspondre à l'espace-nom de l'attribut element XML dans l'élément part de la définition de message entrant pour le Service Web.

Création d'interactions

Pour créer une interaction pour un Service Web, utilisez la même action de flot de documents de Service Web pour la source et la cible.

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

  1. Cliquez sur Administrateur du concentrateur > Configuration du concentrateur > Définition du flot de documents.
  2. Cliquez sur Gestion des interactions.
  3. Cliquez sur Création d'une interaction.
  4. Sous Source, développez Regroupement : Aucun > Protocole : Service Web > Flot de documents : < flot de documents> > Action : <action>. Répétez cette étape dans la colonne Cible.
  5. Sélectionnez Passe-système dans la liste des Actions figurant en bas de la page. (Passe-système est la seule option prise en charge dans WebSphere Partner Gateway pour un Service Web.)

Restrictions et limitations relatives à la prise en charge Service Web

WebSphere Partner Gateway prend en charge les standards suivants :

Remarque :

Copyright IBM Corp. 2003, 2005