Return-Path: Delivered-To: apmail-ws-axis-c-user-archive@www.apache.org Received: (qmail 86039 invoked from network); 16 May 2006 13:12:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 16 May 2006 13:12:33 -0000 Received: (qmail 93274 invoked by uid 500); 16 May 2006 13:12:27 -0000 Delivered-To: apmail-ws-axis-c-user-archive@ws.apache.org Received: (qmail 93218 invoked by uid 500); 16 May 2006 13:12:26 -0000 Mailing-List: contact axis-c-user-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C User List" Reply-To: "Apache AXIS C User List" Delivered-To: mailing list axis-c-user@ws.apache.org Received: (qmail 93156 invoked by uid 99); 16 May 2006 13:12:24 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2006 06:12:24 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [217.66.0.18] (HELO ndns1.seagha.com) (217.66.0.18) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2006 06:12:22 -0700 Received: from [10.200.1.36] (helo=srv-mail.win.antwerp.seagha.com) by ndns1.seagha.com with esmtp id 1FfzKY-00036f-5H for axis-c-user@ws.apache.org; Tue, 16 May 2006 15:11:18 +0200 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-MimeOLE: Produced By Microsoft Exchange V6.5 Subject: RE: Crash in XercesHandler.cpp with & in response Date: Tue, 16 May 2006 15:13:00 +0200 Message-ID: <67B95D61E544254F98FE975AA08F2FB20716D7@srv-mail.win.antwerp.seagha.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Crash in XercesHandler.cpp with & in response Thread-Index: AcZ46Dee5pTr5lMiRjqHP5eHhZcS+QAAUJGw From: "Iwan Tomlow" To: "Apache AXIS C User List" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Ah, that's more difficult, since the webservice is only made available over HTTPS, so I can't just drop tcpmon in between. The xml-data is actually taken from the log the server has written just before posting the reply. I really think it's more of a memory issue as described in AXISCPP-825, but that fix alone doesn't seem enough. I've been experimenting some more, and it doesn't always crash: in debug mode it works fine most of the time; on Windows XP the release mode crashes sometimes; on Windows 2000 however, the release version crashes consistently - and the production client-app must run on a Windows 2000 touchscreen terminal :( Regards, Iwan -----Original Message----- From: Adrian Dick [mailto:adrian.dick@uk.ibm.com]=20 Sent: dinsdag 16 mei 2006 14:55 To: Apache AXIS C User List Subject: RE: Crash in XercesHandler.cpp with & in response Hi, Ok, I can't see anything obviously wrong with your SOAP message ... I wouldn't expect the & to cause problems, as we have a passing testcase to check the correct encoding/decoding of this, and looking through the SVN history the code which handles encoding/decoding hasn't been touched since before the release of 1.5. I'm wondering if perhaps you're hitting a problem with the transport/parser interaction. I should have asked before, can you also include the HTTP headers, etc. so I can check if there are any content/chunk length issues here. Regards, Adrian _______________________________________ Adrian Dick (adrian.dick@uk.ibm.com) "Iwan Tomlow" wrote on 16/05/2006 10:01:03: > Sure, this is the on-the-wire message (in which I had to replace some=20 > personal data for confidentiality). > The & in causes XercesHandler to parse the data in=20 > 2 steps, and the 2nd call to XercesHandler::characters is causing=20 > problems in the use of 'cp_PreviousNameOrValue'. > > Thanks for your assistance, > Iwan > > xmlns:soapenv=3D"http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema" > xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"> > > =20 > 12345 104=20 > 03/11/2008 > 0 > 0 > 01/01/1975 > SOMEWHERE > XXBOOT &=20 > BUTEIJN=20 > 12340000/999.999.999 em > ployerPhone> > THERE > 9999AA > FIRST > 1 > CITY > XX > STREET 11=20 > 9999AA > > LAST > XX > 9999 > xsi:nil=3D"true"/> xsi:nil=3D"true"/> = > > > -----Original Message----- > From: Adrian Dick [mailto:adrian.dick@uk.ibm.com] > Sent: dinsdag 16 mei 2006 10:21 > To: Apache AXIS C User List > Subject: RE: Crash in XercesHandler.cpp with & in response > > Hi, > > As we've now excluded the illegal use of '&', it could be related to=20 > how the SOAP message is being received, I know of some bugs fixed in=20 > 1.6 which could cause similar problems to those you describe. > Is it possible for you to attach the "on-the-wire" SOAP/HTTP message=20 > causing this problem? > > Thanks, > Adrian > _______________________________________ > Adrian Dick (adrian.dick@uk.ibm.com) > > > "Iwan Tomlow" wrote on 15/05/2006 16:41:16: > > > Hm, sorry I didn't make this clear enough: when looking at the data=20 > > over the wire, the ampersand is escaped correctly. > > The webservice is deployed with axis-java, so no problems there. My=20 > > example should read BOOT & BUTEIJN. > > The & was already resolved by xerces when I copy/pasted the=20 > > value to this e-mail, sorry for the confusion. > > > > So Xerces parser has no problems at all, but there seems to be a bug > > in the XercesHandler implementation in Axis. > > Btw, I have the problem with both Xerces 2.2.0 (as included in axis > > 1.5 release), and also when I build Axis 1.5 myself linked with=20 > > Xerces > > > 2.7.0. > > > > I have not been able to use the 1.6 nightly build yet, and I would=20 > > rather be able to quickly fix the production problem with a 1.5=20 > > patch first. > > > > Regards, > > Iwan > > > > -----Original Message----- > > From: Adrian Dick [mailto:adrian.dick@uk.ibm.com] > > Sent: maandag 15 mei 2006 17:20 > > To: Apache AXIS C User List > > Subject: Re: Crash in XercesHandler.cpp with & in response > > > > Hi, > > > > > > Under the SOAP (and underlying XML) standards the ampersand=20 > > 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 "&". > > > > 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=20 > > 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=20 > > the latest Axis 1.6 nightly builds? > > > > Regards, > > Adrian > > _______________________________________ > > Adrian Dick (adrian.dick@uk.ibm.com) > > > > > > "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=20 > > > experiencing problems when the response from the webservice=20 > > > contains > > > > ampersands in the xml-data, like BOOT & BUTEIJN. > > > > > > The generated Axis-client stub crashes (with 'Invalid Address=20 > > > specified to RtlFreeHeap' in MCVC6.0 debugger) on the following=20 > > > code > > > > in XercesHandler::characters > > > >>> free(const_cast (cp_PreviousNameOrValue)); > > > free(cp_CurrentNameOrValue); > > > > > > I found a jira-issue (AXISCPP-825) that seems to address this=20 > > > issue, > > > > but the reported fix (change free to delete[]) does not work for=20 > > > me, > > > > the result is the same. > > > > > > Does anyone have this issue, any hints? > > > Strange thing: it appears everything works fine if a point my=20 > > > 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 > > >