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]

Reply via email to