aspose file tools*
The moose likes Web Services and the fly likes Putting string in soap message Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Putting string in soap message" Watch "Putting string in soap message" New topic
Author

Putting string in soap message

Prajatna Mahunta
Greenhorn

Joined: Sep 01, 2008
Posts: 25
How to put a string inside a soap message, which am sending.
Need to put a XML(which is in string format) inside the soap message.
Please suggest me how to put that string inside the soap message.


Prajatna Mahunta
Prajatna Mahunta
Greenhorn

Joined: Sep 01, 2008
Posts: 25
Let me tell you one thing...we are using Java, in WAS 5.1
Jimmy Clark
Ranch Hand

Joined: Apr 16, 2008
Posts: 2187
Below is an example for reference.

Peer Reynders
Bartender

Joined: Aug 19, 2005
Posts: 2922
    
    5
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.

See also Xml document as a SOAP payload

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: 2922
    
    5
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).

"JAX-RPC Mapping Files" are described in "7.3 JAX-RPC Mapping Deployment Descriptor" of JSR-000921 Implementing Enterprise Web Services 1.1

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 ]
vishnu viswanath
Greenhorn

Joined: Nov 03, 2011
Posts: 2
Hi Peer Reynders ,

Can you tell me how to add text with xml to SOAPHeader. Since the addDocument method is not there for SOAPHeader.

Thanks
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Putting string in soap message