Comment ajouter des en-têtes SOAP au client Spring Jax-WS?
Comment puis-je ajouter des en-Têtes SOAP pour le Printemps Jax-WS Client?
Précisément, j'ai un Jaxb objet que je voudrais ajouter à l'en-tête, mais des exemples xml serait appréciée.
Je suis à l'aide du Printemps JaxWsPortProxyFactoryBean décrit ici. Aussi, je suis de la génération de mon client comme décrit ici qui est de moins travailler les en-têtes j'ai besoin d'ajouter.
Merci.
source d'informationauteur Brandon | 2010-10-28
Vous devez vous connecter pour publier un commentaire.
Un peu plus élégant (encore une classe exprimés est requise):
Remarque: Cet exemple a été testicules avec Spring WS 2.1.4.
Je suis encore à essayer de trouver un moyen élégant pour ajouter des en-têtes, mais ce que je fais comme suggéré par d'autres est d'utiliser un Transformateur sur le WebServiceMessageCallBack(). Voici un exemple de code:
Ce n'est pas vraiment élégant, considérant que c'est le Printemps WS. Ce n'est pas intuitive.
Après quelques fouiller si trouvé un peu différente de la solution. Je suis l'aide de JAXB pour mobiliser ma charge utile et le possible de l'en-tête classes ont également été générés avec JAXB à partir du WSDL.
Dans mon cas, je m'adresse à Microsoft Reporting Services et de la passer sur un ExecutionID comme en-tête SOAP.
Fondamentalement la WebServiceGatewaySupport connaît déjà le Marshaller pour convertir JAXB Pojo. Je suis à l'aide de joindre mon propre en-tête de classes à la SoapHeader avec cette ligne:
dans mon imbriquée WebServiceMessageCallback.
C'est une solution alternative: