Meaningless Drivel is fun!*
The moose likes Web Services and the fly likes Adding payload to SOAP body Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "Adding payload to SOAP body" Watch "Adding payload to SOAP body" New topic
Author

Adding payload to SOAP body

Matthew MacMillan
Greenhorn

Joined: May 23, 2011
Posts: 2
HI,

Am trying to add a hard coded payload to a SOAP message - but it's escaping the < and > characters in the payload to & lt ; and & gt ;


SOAP envelope before adding child payload

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body>soapenv:Body></soapenv:Envelope>

from this code: -



Add the payload to the SOAP envelope



gives this SOAP message

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body>& lt ;GetMyWebMethod xmlns='http://www.test.com/testGateway/' /& gt ;</soapenv:Body></soapenv:Envelope>

The SOAP message I want is: -

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><GetMyWebMethod xmlns='http://www.test.com/testGateway/' />;</soapenv:Body></soapenv:Envelope>

Any idea how to solve?

thanks
Matthew
Alex Hurtt
Ranch Hand

Joined: Oct 26, 2010
Posts: 98
Try using one of the fac.createOMElement(...) methods on your 'fac' object instead of createOMText(...). It looks like they've sort of reinvented DOM parsing with this Axiom API to some extent.

If you spend a few minutes and study the API documentation for your OMNode class here: http://ws.apache.org/axiom/apidocs/index.html?overview-summary.html

You will see there are constants defined in the interface that indicate what type of Node the implementing instance will be. These are commonly defined XML node types and each will be treated differently according to XML specs. If you are creating a text node and trying to add that to the body of your envelope, the Axiom framework will rightly treat it as plain text containing characters that must be escaped according to XML specification.
 
Consider Paul's rocket mass heater.
 
subject: Adding payload to SOAP body
 
Similar Threads
XML in Payload, fault returned.
axis2: set SC_BAD_REQUEST with AxisFault
SOAP Validation Help Requested
E_unsupported (10050) problem with uddi4j FindBusinessExample
org.apache.axis2.AxisFault: Unexpected EOF; was expecting a close tag