Hello,
I have implemented a web service and deployed it on Apache Axis2 1.4
One of the XML elements (Payload element) declared as XML type 'String' may
include text containing CRLF (carriage-return, linefeed) character sequence.
The problem is that CRLF character sequence is normalized by Axis into #xD.
The LF character is escaped in the output.
The Java code used to serialize the content of Payload element was generated
by WSDL2Java tool and looks like this:
public void serialize(final QName parentQName,
final OMFactory factory,
MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws XMLStreamException, ADBException {
protected String localPayload;
...
if (localPayload == null) {
// write the nil attribute
throw new ADBException(PAYLOAD_CANNOT_BE_NULL);
} else {
xmlWriter.writeCharacters(localPayload);
}
...
}
In the tcpmonitor the SOAP message that is being sent looks like:
POST /axis2/services/Core/realtime/?OrgTaskID=100303 HTTP/1.1
Content-Type: application/soap+xml; charset=UTF-8;
action="RealTimeTransaction"
User-Agent: Axis2
Host: iuriep-ws:8079
Transfer-Encoding: chunked
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Header>
<wsse:Security
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
soapenv:mustUnderstand="true">
<wsse:UsernameToken
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="UsernameToken-29624571">
<wsse:Username>user100303</wsse:Username>
<wsse:Password
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">kL1dVUPf5U</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns1:COREEnvelopeRealTimeRequest
xmlns:ns1="http://www.caqh.org/SOAP/WSDL/CORERule2.0.1.xsd">
<PayloadType>X12_276_004010X093A1</PayloadType>
<ProcessingMode>RealTime</ProcessingMode>
<PayloadID>a7cea1a0-6cb9-11de-8782-000c2987b7be</PayloadID>
<TimeStamp>2009-07-09T06:52:30Z</TimeStamp>
<SenderID>EDIFECS TSK0021</SenderID>
<ReceiverID>987654321</ReceiverID>
<CORERuleVersion>2.0.1</CORERuleVersion>
<Payload>ISA*00*00*987654321*0652*0*P*:#xD;GS*HR*TSK0021*004010X093A1#xD;ST*276*0001#xD;BHT*0010*13**4*3*22*0#xD;DMG*D8*19821103*M#xD;NM1*IL*1*PULSIPHER*BILL*K***MI*5643796#xD;TRN*1*ICN98765432#xD;REF*1K*DCN123467#xD;AMT*T3*2312#xD;DTP*232*RD8*20080401-20080430#xD;SE*16*0001#xD;GE*1*100001112#xD;IEA*1*100001112#xD;</Payload>
</ns1:COREEnvelopeRealTimeRequest>
</soapenv:Body>
</soapenv:Envelope>
I have used WSDL2java tool to generate the stubs, skeletons, and data types
from WSDL
I am also using the Pampart 1.4 module to include security headers into the
SOAP message.
Thanks in advance for any suggestion,
Yuri
--
View this message in context:
http://www.nabble.com/New-Line-character-is-escaped-in-the-created-SOAP-message-in-Axis2-1.4-web-service.-tp24490808p24490808.html
Sent from the Axis - User mailing list archive at Nabble.com.