La présente section propose une vue d'ensemble de la prise en charge cXML ainsi que des informations relatives à la création de définitions du flot de documents pour les échanges cXML.
Le Gestionnaire de documents de WebSphere Partner Gateway identifie un document cXML par le nom de l'élément racine du document XML, qui est cXML, et la version par le cXML DOCTYPE (DTD) cXML. Par exemple, le DOCTYPE suivant est pour cXML version 1.2.009 :
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.009/cXML.dtd">
Le gestionnaire de documents procède à la validation DTD des documents cXML ; toutefois, WebSphere Partner Gateway ne fournit pas de DTD cXML. Vous pouvez les télécharger à partir du site www.cxml.org puis les charger dans WebSphere Partner Gateway via le module de mappe de validation de Console de communauté. Une fois que vous avez téléchargé le DTD, associez-le au flot de documents cXML. Pour plus d'informations sur l'association du DTD avec le flot de documents cXML, voir Association de mappes à des définitions de flot de documents.
Le Gestionnaire de documents utilise deux attributs de l'élément racine du gestionnaire de documents : payloadID et timestamp. Les payloadID et timestamp cXML sont utilisés en tant que numéro d'ID document et horodatage du document. Ces deux informations peuvent être consultées sur la Console de communauté pour le Gestionnaire du document.
Les éléments From (De) et To (A) de l'en-tête cXML contient l'élément Credential utilisé pour le routage et l'authentification du document. L'exemple ci-dessous affiche les éléments From (De) et To (A) comme source et cible du document cXML.
<Header> <From> <Credential domain="AcmeUserId"> <Identity>admin@acme.com</Identity> </Credential> <Credential domain="DUNS"> <Identity>130313038</Identity> </Credential> </From <To> <Credential domain="DUNS"> <Identity>987654321</Identity> </Credential> <Credential domain="IBMUserId"> <Identity>test@ibm.com</Identity> </Credential> </To>
Si plusieurs éléments credential sont utilisés, le Gestionnaire de documents utilise le numéro DUNS comme identificateur commercial pour le routage et l'authentification. Si aucun numéro DUNS n'a été indiqué, le premier Credential est utilisé.
WebSphere Partner Gateway n'utilise pas les informations se trouvant dans l'élément émetteur.
Dans le cadre d'une transaction synchrone, les en-têtes From (De) et To (A) ne sont pas utilisés dans le document de réponse cXML. La document de réponse est envoyé via la même connexion HTTP qui est établie par le document de la demande.
Un document cXML peut se présenter sous trois types : Demande, Réponse ou Message.
Il existe plusieurs types de demandes cXML. L'élément Request du Document cXML correspond à la définition du flot de documents dans WebSphere Partner Gateway. Les éléments de demandes classiques sont les suivants :
La table suivante illustre la relation entre les éléments d'un document de demande cXML et les définitions de flot de documents dans WebSphere Partner Gateway :
Le participant cible envoie une réponse cXML pour indiquer au participant source les résultats de la demande cXML. Etant donné que les résultats de certaines demandes peuvent ne contenir aucune donnée, l'élément Response peut contenir uniquement un élément Status. Un élément Response peut également contenir toute donnée de niveau application. Par exemple, lors de la phase PunchOut, les données de niveau application sont contenues dans un élément PunchOutSetupResponse. Les éléments Response classiques sont les suivants :
La table suivante illustre la relation entre les éléments d'un document de réponse cXML et les définitions de flot de documents de WebSphere Partner Gateway :
Un message cXML contient les informations de flot de documents de WebSphere Partner Gateway dans l'élément Message cXML. Il peut éventuellement contenir un élément Status, identique à celui d'un élément Response. Il serait utilisé dans des messages qui sont des réponses aux messages de demandes.
Le contenu de ce message est personnalisé en fonction des besoins métier de l'utilisateur. L'élément se trouvant directement sous l'élément <Message> correspond au flot de documents créé dans WebSphere Partner Gateway. Dans l'exemple suivant, SubscriptionChangeMessage est le flot de documents :
<Message> <SubscriptionChangeMessage type="new"> <Subscription> <InternalID>1234</InternalID> <Name xml:lang="en-US">Q2 Prices</Name> <Changetime>1999-03-12T18:39:09-08:00</Changetime> <SupplierID domain="DUNS">942888711</SupplierID> <Format version="2.1">CIF</Format> </Subscription> </SubscriptionChangeMessage> </Message>
La table suivante illustre la relation entre les éléments d'un message cXML et les définitions de flot de documents de WebSphere Partner Gateway :
Le moyen le plus simple de distinguer un message unidirectionnel d'un document Demande-Réponse est la présence d'un élément Message au lieu d'un élément de demande ou de réponse.
Un message peut posséder les attributs suivants :
Tous les documents cXML doivent contenir un en-tête Content-type. Pour les documents cXML ne contenant pas de pièces jointes, les en-têtes Content-type suivants sont utilisés :
Le protocole cXML prend en charge la connexion des fichiers externes via le format MIME. Par exemple, les clients ont souvent besoin de se remémorer les ordres d'achat à l'aide de mémos, dessins ou télécopies. L'un des en-têtes Content-type répertorié ci-dessous doit être utilisé dans les documents cXML contenant des pièces jointes :
L'élément boundary est un texte unique, utilisé pour séparer le corps du du message MIME de la partie données utiles. Pour plus d'information, consultez le guide d'utilisateur cXML à l'adresse www.cxml.org.
WebSphere Partner Gateway prend en charge les interactions de définition de flot de documents cXML :
Procédez comme suit pour créer une définition de flot de documents pour un document cXML.
<cXML> <Response> <Status code="200" text="OK"/> </Response> </cXML> <cXML> <Response> <Status code="200" text="OK"/> <ProfileResponse> </Response> </cXML>
Le numéro de version est indiqué uniquement à titre de référence. Le protocole réel de la version provient de la version DTD se trouvant dans le document cXML.
Après avoir créé la définition du flot de documents, définissez une interaction pour le document cXML.
Pour créer des interactions, procédez comme suit :