J'utilise Spring Integration dans un projet qui intègre (avec succès) divers points de terminaison ReST/JSON et SOAP. Maintenant, je dois appeler une instance BusinessWorks configurée pour accepter Plain-Old-Xml-over-HTTP. À partir du livre «Spring Integration in Action», j'ai compris que je devrais utiliser int-ws: outbound-gateway pour cela. Cette configuration génère la demande correcte, mais dans SOAP:Appelez le service Web POX depuis Spring Integration
<int-ws:outbound-gateway
uri="..."
request-channel="request" reply-channel="reply"
marshaller="marshaller" unmarshaller="unmarshaller"/>
Je ne peux pas comprendre comment configurer cette option pour envoyer l'objet dans la charge utile comme POX (pas d'enveloppe SOAP). Je essayé ceci:
<int-ws:outbound-gateway
uri="..."
request-channel="request" reply-channel="reply"
marshaller="marshaller" unmarshaller="unmarshaller"
message-factory="poxMessageFactory"/>
<bean id="poxMessageFactory"
class="org.springframework.ws.pox.dom.DomPoxMessageFactory"/>
La demande semble passer correctement au format XML seulement, mais le corps de la requête est vide (aucune trace de l'objet présent dans la charge utile d'intégration de printemps). Quelqu'un peut-il me dire ce que je fais mal ou comment réaliser ce que j'essaie de faire?
Merci beaucoup! Je pense que cette réponse officielle ferme le sujet :-) J'ai ouvert le bug JIRA. Je n'ai fait qu'une tentative rapide d'utiliser la solution de contournement mais comme le service que nous appelons est géré dans la même entreprise, ils ont accepté de reconfigurer le service pour accepter SOAP. –
Bien sûr! Le JIRA https://jira.spring.io/browse/INT-4355 a été corrigé récemment. Nous pouvons libérer la prochaine version de maintenance dès que possible si vous en avez besoin –
Oh! Désolé, j'ai raté ce dernier commentaire. Merci beaucoup, mais maintenant nous pouvons attendre une livraison dans la prochaine version. –