Réception d'en-têtes SOAP implicites avec JAX-WS
Vous pouvez activer un client de services Web JAX-WS (Java™ API for XML-Based Web Services) 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.
- 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).
Avec JAX-WS, il n'existe aucune restriction sur les types de gestionnaires que vous pouvez manipuler.
Pourquoi et quand exécuter cette tâche
L'application client définit les propriétés sur l'objet Dispatch ou Proxy pour envoyer et recevoir des en-têtes SOAP implicites.
Procédure
- Lancez un appel de méthode distante à l'aide de l'objet Dispatch ou Proxy.
- A l'aide du nom de la propriété, com.ibm.wsspi.websvcs.Constants.JAXWS_INBOUND_SOAP_HEADERS, extrayez Map<QName, Liste<Chaîne>> à partir du contexte de demande de l'objet Dispatch ou Proxy.
- A partir de la valeur Map<QName, List<String>>, extrayez une Liste<Chaîne> à l'aide du QName de l'en-tête SOAP. Si la valeur List<String> est présente, elle contient aucun ou plusieurs objets String contenant le texte XML des en-têtes SOAP du QName correspondant.
Résultats
Vous disposez d'un client de services Web JAX-WS capable de recevoir des valeurs d'en-têtes SOAP implicites.