axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bruce McHaffie <bruce.mchaf...@entrust.com>
Subject returning XML as xsd:string
Date Tue, 08 Feb 2005 22:36:18 GMT
Hi, I have a Java web service that returns xsd:string data to the Axis C++
client. I have noticed that if the returned string contains angle brackets
(<>) then the client fails (with a heap corruption message -- I'm running in
debug). The SOAP message is returned correctly, and the start element is
found. The error seems to happen when the client tries to parse the message
for the content of the string.
 
Client fails at:  getElementAsString( AxisChar* pName, AxisChar* pNamespace)
File is: SoapDeSerializer.cpp
Line number is: 3049 in Axis C++ 1.4,
Call is: m_pNode = m_pParser->next (true);
 
Sample SOAP message that fails:
 
<soapenv:Envelope>
 <soapenv:Body>
  <getEnvelopeRecipientResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
<http://schemas.xmlsoap.org/soap/encoding/> ">
    <getEnvelopeRecipientReturn xsi:type="xsd:string"><Any string at
all></getEnvelopeRecipientReturn>
  </getEnvelopeRecipientResponse>
 </soapenv:Body>
</soapenv:Envelope>
 
Sample SOAP message that works:
 
<soapenv:Envelope>
 <soapenv:Body>
  <getEnvelopeRecipientResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/
<http://schemas.xmlsoap.org/soap/encoding/> ">
    <getEnvelopeRecipientReturn xsi:type="xsd:string">Any string at
all</getEnvelopeRecipientReturn>
  </getEnvelopeRecipientResponse>
 </soapenv:Body>
</soapenv:Envelope>
 
I tried escaping the angle brackets with &lt; and &gt; but that didn't solve
the problem. Any ideas?
 
Thanks,
 
Bruce.
 

Mime
View raw message