WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Pièces jointes non référencées dans les messages SOAP

Vous pouvez utiliser une liaison JAX-WS (Java™ API for XML Web Services) pour envoyer et recevoir des messages SOAP avec des pièces jointes telles que des fichiers PDF ou des images JPG. Vous pouvez également utiliser un composant de flux de médiation d'un module SCA pour traiter la pièce jointe.

Vous pouvez envoyer et recevoir des pièces jointes non référencées qui font partie d'un message MIME composite SOAP. Dans ce type de message, le corps SOAP constitue la première partie et les pièces jointes figurent dans les parties suivantes. Aucune référence à la pièce jointe n'est incluse dans le corps SOAP.
Figure 1. Message SOAP avec une pièce jointe non référencée
Illustration représentant un message SOAP avec une pièce jointe non référencée dans la partie MIME.
Vous pouvez envoyer un message SOAP avec une pièce jointe non référencée par une exportation de service Web vers une importation de service Web. Le message de sortie envoyé au service Web cible contient la pièce jointe.
Figure 2. Pièce jointe transitant par un module SCA
Illustration représentant un message SOAP avec une pièce jointe non référencée envoyé à un module SCA (par une exportation de service Web), puis du module au service cible (par une importation de service Web). Le message qui transite reste inchangé.

Dans la Figure 2, le message SOAP comprenant une pièce jointe transite par le module sans modification.

Vous pouvez également modifier le protocole SOAP à l'aide d'un composant de flux de médiation. Par exemple, vous pouvez utiliser le composant de flux de médiation pour extraire des données du message SOAP (dans ce cas, des données binaires dans le corps du message) et créer un message SOAP avec pièces jointes. Les données sont traitées comme partie de l'élément attachments d'un objet de message de service (SMO).
Figure 3. Message traité par un composant de flux de médiation
Illustration représentant un message SOAP avec des données en ligne traitées par un composant de flux de médiation. Celui-ci extrait les données et les ajoute comme pièce jointe au message SOAP sortant.

Inversement, le composant de flux de médiation peut transformer le message entrant en extrayant et en codant la pièce jointe, puis en transmettant le message sans pièce jointe.

Pour plus d'informations sur la structure de l'objet SMO, voir "Rubriques connexes".

Plutôt que d'extraire les données d'un message SOAP entrant pour former un message SOAP avec pièces jointes, vous pouvez obtenir les données de la pièce jointe à partir d'une source externe (par exemple, une base de données).
Figure 4. Pièce jointe obtenue d'une base de données et ajoutée au message SOAP
Illustration représentant un composant de flux de médiation qui ajoute des données (obtenues d'une base de données) à un message SOAP sortant.

Inversement, le composant de flux de médiation peut extraire la pièce jointe d'un message SOAP entrant et traiter le message (par exemple, stocker la pièce jointe dans une base de données).

La propagation des pièces jointes non référencées n'est possible qu'entre composants de flux de médiation. Si un autre type de composant doit accéder à la pièce jointe ou servir de cible lors de la propagation de celle-ci, utilisez un composant de flux de médiation pour déplacer la pièce jointe vers un emplacement accessible par le composant.

Important : Comme décrit dans la "représentation XML de l'objet SMO," la primitive de médiation de transformation XSL convertit les messages à l'aide d'une transformation XSLT 1.0. La transformation agit sur une sérialisation XML de l'objet SMO. La primitive de médiation de transformation XSL permet de spécifier la racine de la sérialisation et l'élément racine du document XML reflète cette racine.
Lorsque vous envoyez des messages SOAP comportant des pièces jointes, l'élément racine choisi détermine le mode de propagation des pièces jointes.
  • Si vous utilisez "/body" comme racine de la mappe XML, toutes les pièces jointes sont propagées dans la mappe par défaut.
  • Si vous utilisez "/" comme racine de la mappe, vous pouvez contrôler la propagation des pièces jointes.

concept Rubrique concept

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cadm_webservicebindingattach.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).