Return-Path: Delivered-To: apmail-ws-axis-c-user-archive@www.apache.org Received: (qmail 9685 invoked from network); 7 Oct 2004 16:37:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 7 Oct 2004 16:37:12 -0000 Received: (qmail 18815 invoked by uid 500); 7 Oct 2004 16:36:59 -0000 Delivered-To: apmail-ws-axis-c-user-archive@ws.apache.org Received: (qmail 18646 invoked by uid 500); 7 Oct 2004 16:36:56 -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 18608 invoked by uid 99); 7 Oct 2004 16:36:56 -0000 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=DNS_FROM_RFC_ABUSE X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [195.212.29.137] (HELO mtagate4.uk.ibm.com) (195.212.29.137) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 07 Oct 2004 09:36:53 -0700 Received: from d06nrmr1307.portsmouth.uk.ibm.com (d06nrmr1307.portsmouth.uk.ibm.com [9.149.38.129]) by mtagate4.uk.ibm.com (8.12.10/8.12.10) with ESMTP id i97GanQi353336; Thu, 7 Oct 2004 16:36:49 GMT Received: from d06ml067.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by d06nrmr1307.portsmouth.uk.ibm.com (8.12.10/NCO/VER6.6) with ESMTP id i97GamFf149638; Thu, 7 Oct 2004 17:36:48 +0100 Subject: Fw: failure notice To: axis-c-dev@ws.apache.org, axis-c-user@ws.apache.org X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 Message-ID: From: Mark Whitlock Date: Thu, 7 Oct 2004 17:35:24 +0100 X-MIMETrack: Serialize by Router on D06ML067/06/M/IBM(Release 6.51HF338 | June 21, 2004) at 07/10/2004 17:39:59 MIME-Version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: quoted-printable X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Hi Adrian, I investigated your original problem about wsdl2ws generating checkMessage("getCustomerProfileSoapOutput" instead of checkMessage("getCustomerProfileResponse". Your wsdl has and the generated stub is using m_pCall->checkMessage to check that the= output message (getCustomerProfileSoapOutput) is in the soap message th= at is returned. But your soap message has characters Please let me know which JIRA's document these problems, and which you = feel must be fixed for 1.3 and which could be deferred. If there aren't JIRA= 's for these problems, I can raise them (unless you have raised them alrea= dy, Samisa). Then these problems can be assigned and prioritised for 1.3. Please let me know if any of these problems have gone away or if you ha= ve any others. I can work on AXISCPP-193 next. Thanks, Mark Mark Whitlock, IBM ----- Forwarded by Mark Whitlock/UK/IBM on 07/10/2004 16:56 ----- = Samisa Abeysinghe = = To Apache AXIS C User List = 07/10/2004 12:05 = = cc = Please respond to Subj= ect "Apache AXIS C RE: failure notice = User List" = = = = = = 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.00= 6CSS R82LWadrian= OK 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 > :( > > Samisa... > > --- adrian.p.smith@bt.com wrote: > > > OK, so I was getting a 'NullPoinerException'. > > > > So now it seems that the 'result' is not getting initialised. > > > > Any ideas? > > > > -----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 > > > > > > 1. So it is clear that there is something wrong with the generated code. > > > > 2. The object attribute non-initilization is a know problem. (I thi= nk there is a Jira issue on > > this) - We got to fix this. > > > > 3. I do not see anything wrong with > > printf("result =3D %s\n", result->telNr); > > However, in order to veryfy that you have a not NULL result you cou= ld use: > > if (result) > > printf("result =3D %s\n", result->telNr); > > else > > printf("result is NULL\n"); > > > > Thanks, > > Samisa... > > > > --- adrian.p.smith@bt.com wrote: > > > > > OK. > > > > > > 1. I've edited the CH020XSoapPort.cpp file as suggested and, to s= top 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 lef= t un-initialized, the SOAP > > > payload has some wierd characters in the first element of the com= plex type. Output from YATT > > > shows this: > > > > > > > > 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 > > > > > > 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 serv= er side that results in a > > > SOAP:Fault being returned, so we don't get to check out the de-serialisation. Is this > another > > > bug? > > > > > > 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 respons= e as I see the > > > printf("returned\n");. Is there something wrong with: > > > > > > printf("result =3D %s\n", result->telNr); > > > > > > Sorry my C/C++ is a bit weak... > > > > > > My client code is: > > > > > > #include "CH020XSoapPort.h" > > > int main() > > > { > > > try > > > { > > > CH020XSoapPort *port =3D new CH020XSoapPort(); > > > > > > mmbiInput *mmbiIn =3D new mmbiInput(); > > > mmbiIn->correlId =3D "adrian"; > > > E2E *e2e =3D new E2E(); > > > e2e->pck =3D "PCK002069bt.com SS01 ND1234567890200107190000223344dyemw01 im011111"; > > > > > > 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; > > > } > > > } > > > > > > Regards, > > > > > > Adrian Smith > > > BT Group > > > > > > > > > > > > > > > -----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 > > > > > > > > > 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 tes= t. > > > > > > 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 '>' charact= ers in strings received. > > > > > > Samisa... > > > > > > > > > > > > > > > > > > > > > > > This is the last I saw on this - is this a WSDL2ws defect then?= > > > > > > > > > > > > John Hawkins > > > > > > > > > > > > > > > > > > > > > > > > Samisa Abeysinghe > > > > > > > e@yahoo.com> To > > > > Apache AXIS C User List > > > > 05/10/2004 04:55 > > > > cc > > > > axis-c-dev@ws.apache.org= > > > > Please respond to Subject > > > > "Apache AXIS C RE: failure notice > > > > Developers List" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I could generate the code and compile as well (on Linux). > > > > > > > > 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/")) > > > > > > > > The response message has: > > > > > > > SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encod= ing/"> > > > > > > > > Hence I guess the generated code should be: > > > > if(AXIS_SUCCESS =3D=3D > > > > m_pCall->checkMessage("getCustomerProfileResponse", > > > > "http://www.bt.com/css/mmbi/CH020X/")) > > > > > > > > Possible bug in WSDL2WS tool? > > > > > > > > Further it would be helpful for the exception to say which elem= ent it could > > > > not deserialize, > > > > rather than just saying deserialization failure. (thus we could= verify > > > > situations like these) > > > > > > > > Samisa... > > > > > > > > > > > > > =3D=3D=3D message truncated =3D=3D=3D _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com=