I like to use Spring WS for consuming a 3th-party webservice for which I only have a wsdl. I extracted the xsd schema from the wsdl and generated the classes using JAXB1.

Using the WebserviceTemplate.marshalSendAndReceive(Object requestPayload) the webservice gets called but the SOAP message is missing the operation so I get a org.springframework.ws.soap.client.SoapFaultClient Exception: JAXRPCTIE01: caught exception while handling request: unrecognized operation" exception.
The SOAP message send is something like this:

Code:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<someMethodParameter>process this</someMethodParameter>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
While it should be something like this:
Code:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:myns="http://my.example.com/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<myns:myOperation>
  <someMethodParameter>process this</someMethodParameter>
</myns:myOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
As you see I need to incorperate a operation (myOperation) (and possibly a target namespace) into the SOAP message so the webservice knows what I want. I know I probably should not use Spring WS like this but I wonder if it is possible at all or perhaps I am better of with a generated client using Axis/CFX.


Thanks.