axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adrian Dick <>
Subject Re: Crash in XercesHandler.cpp with & in response
Date Mon, 15 May 2006 15:19:32 GMT

Under the SOAP (and underlying XML) standards the ampersand character is
reserved, so you are not permitted to use it within data.
You will need to ensure any occurances are correctly encoded   --- ie:  '&'
becomes "&amp;".

It looks quite likely the Xerces Parser is failing when it hits this
invalid use of '&'.

How is this XML data being produced?   Are you using xsd:any -- in which
case you'll need to ensure this encoding takes place -- or are you seeing
an error in the Axis serialization code, where this should be taking place
on your behalf.

Are you in a position to test if this problem is still present with the
latest Axis 1.6 nightly builds?

Adrian Dick (

"Iwan Tomlow" <> wrote on 15/05/2006 13:34:04:

> Hi all,
> I'm using the Axis C++ 1.5 in a production project, and we are
> experiencing problems when the response from the webservice contains
> ampersands in the xml-data, like <name>BOOT & BUTEIJN</name>.
> The generated Axis-client stub crashes (with 'Invalid Address specified
> to RtlFreeHeap' in MCVC6.0 debugger) on the following code in
> XercesHandler::characters
> >>>   free(const_cast <char*> (cp_PreviousNameOrValue));
>    free(cp_CurrentNameOrValue);
> I found a jira-issue (AXISCPP-825) that seems to address this issue, but
> the reported fix (change free to delete[]) does not work for me, the
> result is the same.
> Does anyone have this issue, any hints?
> Strange thing: it appears everything works fine if a point my XMLParser
> in axiscpp.conf to the debug-library 'AxisXMLParser_D.dll' instead of
> the release-build, but I'm afraid that is just a coincidence.
> Any help appreciated.
> Kind regards,
> Iwan Tomlow

View raw message