Messages SOAP avec pièces jointes : Exemples WSDL

Cette tâche vous permet d'afficher un exemple et une description d'un fichier WSDL avec une pièce jointe.

Exemple

L'exemple de fichier WSDL suivant illustre une opération simple comportant une connexion appelée attch :

<binding name="MyBinding" type="tns:abc" >
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="MyOperation">
    <soap:operation soapAction=""/>
    <input>
      <mime:multipartRelated>
        <mime:part>
          <soap:body parts="part1 part2 ..." use="encoded" namespace="http://mynamespace"
            encodingStyle="http://schemas.xmlsoap.org/soap/encoding"/>
        </mime:part>
        <mime:part>
          <mime:content part="attch" type="text/html"/>
        </mime:part>
      </mime:multipartRelated>
    </input>
  </operation>
</binding>
Dans ce type d'extension WSDL :
  • Le message d'entrée doit contenir un attribut part (dans cet exemple, attch) pour l'opération (dans cet exemple, MyOperation). Il peut exister d'autres éléments d'entrée de MyOperation qui ne sont pas des pièces jointes.
  • L'entrée de la liaison doit contenir une balise <soap:body> ou <mime:multipartRelated>, mais pas les deux.
  • Pour des messages MIME, la balise <soap:body> se trouve dans une balise <mime:part>. Il ne doit y avoir qu'une seule balise <mime:part> contenant une balise <soap:body> dans l'entrée de la liaison ; par ailleurs, elle ne doit pas contenir de balise <mime:content> car un type de contenu text/xml est attendu pour la balise <soap:body>.
  • Un message MIME peut contenir plusieurs pièces jointes ; chacune étant décrite par une balise <mime:part>.
  • Chaque balise <mime:part> qui ne contient pas de balise <soap:body> contient une balise <mime:content> décrivant la pièce jointe elle-même. L'attribut type dans la balise <mime:content> n'est ni contrôlé, ni utilisé par le bus d'intégration de services. Il est présent pour indiquer à l'application qui utilise le bus d'intégration de services, le contenu de la pièce jointe. Plusieurs balises <mime:content> dans une même balise <mime:part> signalent que le service d'arrière-plan attend une seule pièce jointe d'un type indiqué par l'une des balises <mime:content> dans cette balise <mime:part>.
  • L'attribut parts="..." L'attribut dans la balise <soap:body> est censé contenir le nom de toutes les parties SOAP du message, mais pas celles des pièces jointes. S'il n'existe que des parties de pièces jointes, entrez parts="" (chaîne vide). Si vous omettez l'attribut parts, le bus d'intégration de services prend en comptes TOUTES les parties, y compris les pièces jointes, ce qui signifie que les pièces jointes apparaîtront en double.

Dans votre WSDL, vous avez peut-être défini un schéma pour la pièce jointe (par exemple, comme un schéma binary[]). Les technologies d'intégration de services ignorent automatiquement ce mappage et traite la pièce jointe comme un gestionnaire de données.

Vous n'avez pas besoin de mentionner les pièces jointes non référencées dans les liaisons WSDL.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_attach_wsdl
Nom du fichier : tjw_attach_wsdl.html