Return-Path: Delivered-To: apmail-ws-axis-c-user-archive@www.apache.org Received: (qmail 89825 invoked from network); 7 Oct 2004 11:18:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 7 Oct 2004 11:18:39 -0000 Received: (qmail 99645 invoked by uid 500); 7 Oct 2004 11:18:38 -0000 Delivered-To: apmail-ws-axis-c-user-archive@ws.apache.org Received: (qmail 99633 invoked by uid 500); 7 Oct 2004 11:18:38 -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 99619 invoked by uid 99); 7 Oct 2004 11:18:38 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [217.32.164.150] (HELO smtp2.smtp.bt.com) (217.32.164.150) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 07 Oct 2004 04:18:37 -0700 Received: from i2km99-ukbr.domain1.systemhost.net ([193.113.197.31]) by smtp2.smtp.bt.com with Microsoft SMTPSVC(6.0.3790.80); Thu, 7 Oct 2004 12:19:31 +0100 Received: from i2km07-ukbr.domain1.systemhost.net ([193.113.197.26]) by i2km99-ukbr.domain1.systemhost.net with Microsoft SMTPSVC(5.0.2195.6713); Thu, 7 Oct 2004 12:19:31 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: failure notice Date: Thu, 7 Oct 2004 12:19:31 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: failure notice Thread-Index: AcSsXboN2z4UBzhOQ96tKFR2PFhCiwAAW32w From: To: X-OriginalArrivalTime: 07 Oct 2004 11:19:31.0436 (UTC) FILETIME=[84476AC0:01C4AC5F] X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Are we any closer to having an overnight build? It'd be nice to get a 'fixed' delivery for these problems incrementally, = rather than having to wait for a 'release'. -----Original Message----- From: Samisa Abeysinghe [mailto:samisa_abeysinghe@yahoo.com] Sent: 07 October 2004 12:06 To: Apache AXIS C User List Subject: RE: failure notice Yes I was correct :( The generated code in getCustomerProfileResponse.cpp reads: param->mmbi =3D = (mmbiOutput*)pIWSDZ->getCmplxObject((void*)Axis_DeSerialize_mmbiOutput , (void*)Axis_Create_mmbiOutput, = (void*)Axis_Delete_mmbiOutput , "mmbiOutput", Axis_URI_mmbiOutput); However the response reads: CH020XgetCustomerProfile9016/04/03V4.006CSS R82LWadrianOK= Hence the generated code in getCustomerProfileResponse.cpp should have = been: param->mmbi =3D = (mmbiOutput*)pIWSDZ->getCmplxObject((void*)Axis_DeSerialize_mmbiOutput , (void*)Axis_Create_mmbiOutput, = (void*)Axis_Delete_mmbiOutput , "mmbi", Axis_URI_mmbiOutput); Hope this helps to fix the problem. I am not exactly sure what is going wrong with WSDL2WS tool :( Samisa... --- Samisa Abeysinghe wrote: > This means that the client still fails during deserialization. > There could be more places that the generated code has got = m_pCall->checkMessage() stuff wrong > :( >=20 > Samisa... >=20 > --- adrian.p.smith@bt.com wrote: >=20 > > OK, so I was getting a 'NullPoinerException'. > >=20 > > So now it seems that the 'result' is not getting initialised. > >=20 > > Any ideas? > >=20 > > -----Original Message----- > > From: Samisa Abeysinghe [mailto:samisa_abeysinghe@yahoo.com] > > Sent: 07 October 2004 09:19 > > To: Apache AXIS C User List > > Subject: RE: failure notice > >=20 > >=20 > > 1. So it is clear that there is something wrong with the generated = code. > >=20 > > 2. The object attribute non-initilization is a know problem. (I = think there is a Jira issue on > > this) - We got to fix this. > >=20 > > 3. I do not see anything wrong with=20 > > printf("result =3D %s\n", result->telNr); > > However, in order to veryfy that you have a not NULL result you = could use: > > if (result) > > printf("result =3D %s\n", result->telNr); > > else > > printf("result is NULL\n"); > >=20 > > Thanks, > > Samisa... > >=20 > > --- adrian.p.smith@bt.com wrote: > >=20 > > > OK. > > >=20 > > > 1. I've edited the CH020XSoapPort.cpp file as suggested and, to = stop the offending > being > > > returned, I have omitted it from the input. This seems to have = highlighted a further issue. > > When > > > a complexType is sent in the request, if all the elements are left = un-initialized, the SOAP > > > payload has some wierd characters in the first element of the = complex type. Output from YATT > > > shows this: > > >=20 > > > > > xmlns:SOAP-ENV=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"> > > xmlns:ns1=3D"http://www.bt.com/css/mmbi/CH020X/"> > > xmlns:ns2=3D"http://www.bt.com/css/mmbi/2002/06/types"> > > xsi:type=3D"xsd:string">=B0G1 > > xsi:nil=3D"true"/> > > xmlns:ns2=3D"http://www.bt.com/css/mmbi/2002/06/types"> > > xsi:type=3D"xsd:string">=B0G1 > > > > > xsi:type=3D"xsd:string">01208561489 > > >=20 > > > notice the =B0G1 in and . Subsequent elements in = the complexType are correctly > > > sent as xsi:nil=3D"true". This causes a servlet error on the = server side that results in a > > > SOAP:Fault being returned, so we don't get to check out the = de-serialisation. Is this > another > > > bug? > > >=20 > > > 2. I then amended the input pck to not have the < character and I = got another "Unknown > > > Exception". I believe the client is now deserialising the response = as I see the > > > printf("returned\n");. Is there something wrong with: > > >=20 > > > printf("result =3D %s\n", result->telNr); > > >=20 > > > Sorry my C/C++ is a bit weak... > > >=20 > > > My client code is: > > >=20 > > > #include "CH020XSoapPort.h" > > > int main() > > > { > > > try > > > { > > > CH020XSoapPort *port =3D new CH020XSoapPort(); > > > =20 > > > mmbiInput *mmbiIn =3D new mmbiInput(); > > > mmbiIn->correlId =3D "adrian"; > > > E2E *e2e =3D new E2E(); > > > e2e->pck =3D "PCK002069bt.com SS01 = ND1234567890200107190000223344dyemw01 im011111"; > > > =20 > > > getCustomerProfileResponse *result =3D = port->getCustomerProfile(mmbiIn, e2e, > > > "01208561489"); > > > printf("returned\n"); > > > printf("result =3D %s\n", result->telNr); > > > return 0; > > > } > > > catch(AxisException &e) > > > { > > > printf("Exception : %s\n", e.what()); > > > printf("Exception : %d\n", e.getExceptionCode()); > > > return 1; > > > } > > > catch(exception &e) > > > { > > > printf("Unknown exception 1 has occured\n" ); > > > return 1; > > > } > > > catch(...) > > > { > > > printf("Unknown exception has occured\n" ); > > > return 1; > > > } > > > } > > >=20 > > > Regards, > > >=20 > > > Adrian Smith > > > BT Group > > >=20 > > >=20 > > >=20 > > >=20 > > > -----Original Message----- > > > From: Samisa Abeysinghe [mailto:samisa_abeysinghe@yahoo.com] > > > Sent: 07 October 2004 03:27 > > > To: Apache AXIS C Developers List > > > Cc: axis-c-user@ws.apache.org > > > Subject: RE: failure notice > > >=20 > > >=20 > > > Yes I think it is a WSDL2Ws defect. > > > However, only way to verify this is to change = "getCustomerProfileSoapOutput" to > > > "getCustomerProfileResponse" in the gerated code manually and = test.=20 > > >=20 > > > Additionally the response contains a '<' within string values = received in the response. > > > "PCK<01069bt.com SS01 = ND1234567890200107190000223344dyemw01im011111" > > > It is a known bug that Axis C++ cannot handel '<' and '>' = characters in strings received. > > >=20 > > > Samisa... > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > This is the last I saw on this - is this a WSDL2ws defect then? > > > >=20 > > > >=20 > > > > John Hawkins > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > = =20 > > > > Samisa Abeysinghe = =20 > > > > > > > e@yahoo.com> = To > > > > Apache AXIS C User List = =20 > > > > 05/10/2004 04:55 = =20 > > > > = cc > > > > axis-c-dev@ws.apache.org = =20 > > > > Please respond to = Subject > > > > "Apache AXIS C RE: failure notice = =20 > > > > Developers List" = =20 > > > > = =20 > > > > = =20 > > > > = =20 > > > > = =20 > > > > = =20 > > > >=20 > > > >=20 > > > >=20 > > > >=20 > > > > I could generate the code and compile as well (on Linux). > > > >=20 > > > > However in the generated code I get the following line in > > > > CH020XSoapPort.cpp file: > > > > if(AXIS_SUCCESS =3D=3D > > > > m_pCall->checkMessage("getCustomerProfileSoapOutput", > > > > "http://www.bt.com/css/mmbi/CH020X/")) > > > >=20 > > > > The response message has: > > > > > > > = SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/"> > > > >=20 > > > > Hence I guess the generated code should be: > > > > if(AXIS_SUCCESS =3D=3D > > > > m_pCall->checkMessage("getCustomerProfileResponse", > > > > "http://www.bt.com/css/mmbi/CH020X/")) > > > >=20 > > > > Possible bug in WSDL2WS tool? > > > >=20 > > > > Further it would be helpful for the exception to say which = element it could > > > > not deserialize, > > > > rather than just saying deserialization failure. (thus we could = verify > > > > situations like these) > > > >=20 > > > > Samisa... > > > >=20 > > > >=20 > > > >=20 >=20 =3D=3D=3D message truncated =3D=3D=3D =09 _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com