This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I generated a Web Service client from a WSDL using JAX-WS. The generated code is placing the the Web Service pararameter into the Header of the SOAP envelope and not in the SOAP Body when the request is being instantiated. Can anyone tell me what JAX-WS embedded binding declarations that I might place into the WSDL file to get the Web Service parameter to be included in the SOAP Body. Thanks much!
As you can see from the WSDL mark up, this service was created with .NET. I have always had to customize a .NET WSDL to get wsimport to generate acceptable java code, but this one really has me befuddled! The oXygen SOAP analyser tool, generates an appropriate request message from this WSDL and it utilizes Java APIs to do so. It may not be using JAX-WS though.
Thank you, again.
Joined: Oct 04, 2006
Sad to say, I cannot seem to access the WSDL using the link you provided. I tried with both soapUI and Firefox, but with no luck.
Thanks, I got it now!
After having had a quick look, it looks as if request parameter and response data can either be located in the SOAP Body OR in a SOAP Header.
For instance the Get_Terms operation:
The data type of the input data that can be enclosed in the SOAP Body is Get_TermsSoapIn, which is of this type:
All elements in the above data structure are, as you can see, optional.
In the binding for the same operation, you can see that the header can contain data of the type Get_Termsevent.
This data structure is an <event> element - the same as the data that can be in the SOAP Body.
Again, all elements in the data structure are optional.
Have you tried to issue requests enclosing request data only in the SOAP body?
Can the WSDL be changed or is that beyond your control?
I'll try to run the WSDL through wsimport tomorrow and see what fun stuff comes out...