Réception d'en-têtes SOAP implicites avec JAX-RPC

Vous pouvez activer un client de services Web JAX-RPC (Java™ API for XML-based RPC) existant pour recevoir des valeurs à partir des en-têtes SOAP implicites. En modifiant le code du client pour la réception d'en-têtes SOAP implicites, vous pouvez recevoir des informations spécifiques dans une réponse de service Web entrante.

Avant de commencer

Pour effectuer cette tâche, vous devez disposer d'un client de services Web pouvant être activé pour la réception d'en-têtes SOAP implicites.

Un en-tête SOAP implicite est un en-tête SOAP correspondant à l'une des descriptions suivantes :
  • Partie de message déclarée en tant qu'en-tête SOAP dans la liaison du fichier WSDL (Web Services Description Language), mais la définition du message n'est pas référencée par un élément portType dans un fichier WSDL.
  • Elément non contenu dans le fichier WSDL.

Les gestionnaires et les noeuds finaux de service peuvent manipuler des en-têtes SOAP implicites ou explicites à l'aide du modèle de données SAAJ (Java).

Vous ne pouvez pas manipuler des en-têtes SOAP protégés. Un en-tête SOAP déclaré comme protégé par le composant qui le détient (par exemple : Sécurité des services Web) n'est pas accessible aux applications client. Si vous tentez de manipuler un en-tête SOAP protégé, vous obtiendrez une exception.

Pourquoi et quand exécuter cette tâche

L'application client définit les propriétés sur l'objet Stub ou Call pour envoyer et recevoir des en-têtes SOAP implicites.

Procédure

  1. Créez un objet java.util.HashMap.
  2. Ajoutez une entrée à l'objet HashMap pour chaque en-tête SOAP implicite que le client souhaite recevoir. La clé d'entrée HashMap est le QName de l'en-tête SOAP. La valeur de l'entrée HashMap est null.
  3. Définissez l'entrée HashMap sur l'objet Stub ou Call. Le nom de la propriété est com.ibm.websphere.webservices.Constants.RESPONSE_SOAP_HEADERS. La valeur de la propriété est HashMap.
  4. Lancez les appels de méthode distante sur l'objet Stub ou Call. Le moteur des services Web extrait les en-têtes de réponse définis à partir du message de réponse des services Web et les insère dans le HashMap. Après le retour de la méthode distante, les en-têtes de réponse sont accessibles à partir de l'objet HashMap.
    Une erreur JAXRPCException peut se produire dans les cas suivants :
    • Le HashMap contient une clé différente de QName.
    • Le HashMap contient une clé qui représente un en-tête SOAP déclaré comme protégé par le composant qui le détient.

Résultats

Vous disposez d'un client de services Web JAX-RPC capable de recevoir des valeurs d'en-têtes SOAP implicites.


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=twbs_retrievesoaphead
Nom du fichier : twbs_retrievesoaphead.html