Hi Nadir, I do not know anything about JIRA or JAVA. I work entirely on C++.
What I posted was in the Server side code Bug with AxisCPP 1.6b. And about WSDL file, sorry to say but it's my companies official document and I can not send it out. I guess, the problem can be reproduced with any WSDL having complex array objects in it. In this case the WSDL2WS tool generates the SERVER side code with INCORRECT DeSerializer functions as I mentioned in the mail earlier. Please let me know, if you need any more input from my side. I hope to provide any kind of support within my limits. Thanks, -Shailesh -----Original Message----- From: Nadir Amra [mailto:[EMAIL PROTECTED] Sent: Monday, July 09, 2007 6:52 PM To: Apache AXIS C User List Subject: RE: Problem with Complex Objects in AxisCPP Engine!! Shailesh, Can you open a JIRA and attach a sample WSDL file? At the very lease can you post a sample WSDL file so that I can take a look? Thanks. Nadir K. Amra "Shailesh Srivastava" <[EMAIL PROTECTED]> wrote on 07/09/2007 06:58:06 AM: > Dear All, > > I have found yet another bug in the AxisCPP 1.6 beta. > In fact its related to the WSDL2WS tool. > > Description: > For the Complex Array objects, the Deserializer is not properly > generated. > > Problem Faced: All the values in the Complex Array are not available for > use after the deSerializer function. > > Reason: "peekNextElementName()" is not used properly. In fact the tool > does not generate the proper sequence of this function in the > DeSerializer functions. > > Explanation: > Suppose, the complex array has values as: > ReportSpec > { > Group > BoundarySpec > GroupList, etc > } > ReportSpec[] is a complex Array. > The code Generated by WSDL2WS tool does: > elementName1 = pIWSDZ->peekNextElement() > if (0 == strcmp(elementName,Group) > { > //Call functions here > } > elementName2 = pIWSDZ->peekNextElement() > if (0 == strcmp(elementName,BoundarySpec) > { > //Call functions here > } > > Now, if Group does not exist, then... > The Peek takes the Parser control to 2 elements below & hence fails in > the entire DeSerialization. > > Solution: > Edit the DeSerialization Function like this: > Bool flag = true; > if (flag){ > elementName1 = pIWSDZ->peekNextElement(); > flag = false; > } > if (0 == strcmp(elementName,Group) > { > //Call functions here > Flag = true; > } > If (flag){ > elementName2 = pIWSDZ->peekNextElement(); > flag = false; > } > if (0 == strcmp(elementName,BoundarySpec) > { > //Call functions here > Flag = true; > } > > Thus Peek is done only when it's needed. And there you go, the problem > is fixed. > > I do not know if any one is using axiscpp anymore. But think this will > help. > Note: This problem is there only with the Complex Arrays. > > Hope it will help in making the WSDL2WS tool better. > > Any comments/inputs are most welcome. > > Thanks, > -Shailesh > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
****** Message from InterScan VirusWall 6 ****** ** No virus found in attached file noname.htm The information contained in this e-mail message and in any annexure is confidential to the recipient and may contain privileged information. If you are not the intended recipient, please notify the sender and delete the message along with any annexure. You should not disclose, copy or otherwise use the information contained in the message or any annexure. Any views expressed in this e-mail are those of the individual sender except where the sender specifically states them to be the views of Toshiba Embedded Software India Pvt. Ltd. (TESI), Bangalore. ***************** End of message ***************
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
