Originally posted by Prajatna Mahunta: Need to put a XML(which is in string format) inside the soap message.

Let me tell you one thing...we are using Java, in WAS 5.1

I suspect that you are actually asking how to pass or return a string that contains XML with a JAX-RPC web method. Under JAX-RPC a parameter that contains plain XML has to be in a javax.xml.soap.SOAPElement - otherwise the code generator doesn't know that it has to publish it under the "xsd:any" XML Schema Type.

To convert a string that contains XML to a javax.xml.soap.SOAPElement you can use something like the following:

Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2930

5

posted Nov 20, 2008 07:17:00

0

Originally posted by Prajatna Mahunta: We generated the client class using WSAD Wizard for this WSDL file, and we found that we need to send our input xml as Parameter. Problem here is the Method is expecting complex type as parameter where as we are generating our input xml as String. here We cant cast String variable to ComplexType.

J2EE 1.4 is supposed to support "JAX-RPC Mapping Files" which describe the custom binding between WSDL and Java types. There may be a mechanism by which you can provide the Wizard with a mapping file so that you can coerce that particular XML type to a String or SOAPElement (xsd:any).

Ultimately it may be easier to "tweak" a local copy of the WSDL (replace the appropriate XML type with xsd:any or xsd:string in the affected message part) so that the generated Java method is more to your liking.

Another alternative is JiBX to define a mapping between your XML to the generated complex type. [ November 20, 2008: Message edited by: Peer Reynders ]