|
Bruce: Embedding an XML document in a SOAP
message (which is an XML document itself) is nearly impossible to do in with
any guarantee that it will work for any arbitrary document – unless you
transform the XML document into a character encoding that won’t contain
any characters that are treated specially by the XML parser at the receiving
end. See http://webservices.xml.com/pub/a/ws/2002/08/28/endpoints.html
for more details. The author’s conclusion: “Unfortunately, while it
can be prohibitively expensive (in terms of message size and memory use),
Base64 strings have been the only approach that works and is portable.”
Note that if you choose this approach your application (and those you exchange message
with) will have to convert the embedded XML document to and from Base64. John From: Bruce McHaffie
[mailto:[EMAIL PROTECTED] 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> Sample SOAP message that works: <soapenv:Envelope> I tried escaping the angle brackets with < and
> but that didn't solve the problem. Any ideas? Thanks, Bruce. |
Title: Message
- RE: returning XML as xsd:string John Bodfish
- Re: returning XML as xsd:string Stephane Antonietti
- RE: returning XML as xsd:string John Bodfish
- RE: returning XML as xsd:string Bruce McHaffie
- Re: returning XML as xsd:string Stephane Antonietti
