Hi,

As an experiment, I have written a client handler that is
like:

public void invoke(MessageContext msgContext) throws AxisFault {
SOAPMessage msg = msgContext.getMessage();
SOAPEnvelope env = (SOAPEnvelope) msg.getSOAPPart().getEnvelope();
Document doc = env.getAsDocument();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
//msgContext.getMessage().getSOAPPart().setContent(
// new DOMSource(doc));
msg = msgContext.getMessage();
msg.writeTo(System.out);
}


The output is shown below:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<soapenv:Body>
<ns1:concat soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns1="urn:mo.org.cpttm.stringservice">
<ns1:arg0 xsi:type="xsd:string">abc</ns1:arg0>
<ns1:arg1 xsi:type="xsd:string">def</ns1:arg1>
</ns1:concat>
</soapenv:Body>
</soapenv:Envelope>


If I uncomment the line, then the output becomes:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

  <soapenv:Body>

<ns1:concat soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns1="urn:mo.org.cpttm.stringservice">

      <ns1:arg0 xsi:type="xsd:string">
abc   </ns1:arg0>

      <ns1:arg1 xsi:type="xsd:string">
def   </ns1:arg1>

    </ns1:concat>

  </soapenv:Body>

</soapenv:Envelope>

That is, it adds a lot of newlines and spaces. It even changes
the argument of the soap call from "abc" to "abc   ". Any idea?

Thanks!

Reply via email to