I am developing a soap web service client with spring.
I am using webServiceTemplate
How do I specify which kind of version of soap do I use?
I can see that it s using soap 1.1 by default.
I want to force it to use soap 1.2
How can I do that?
The WebServiceTemplate is the core class for client-side Web service access in Spring-WS. It contains methods for sending Source objects, and receiving response messages as either Source or Result .
Class SoapActionCallback. WebServiceMessageCallback implementation that sets the SOAP Action header on the message. A usage example with WebServiceTemplate : WebServiceTemplate template = new WebServiceTemplate(messageFactory); Result result = new DOMResult(); template.
marshalSendAndReceive. Sends a web service message that contains the given payload, marshalled by the configured Marshaller . Returns the unmarshalled payload of the response message, if any. This will only work with a default uri specified!
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="soapVersion">
<util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12"/>
</property>
</bean>
i just found, i need to pass a message Factory
You just specify the soap version in the configuration file of spring usually spring.cfg.xml
in the following way:
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
<property name="soapVersion">
<util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12"/>
</property>
</bean>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With