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
        
        

-----Original Message-----
From: Shailesh Srivastava [mailto:[EMAIL PROTECTED]

Sent: Wednesday, June 20, 2007 3:50 PM
To: Apache AXIS C User List
Subject: RE: Problem with Complex Objects in AxisCPP Engine!!

Hi Nadir,

Thanks for the information.
I am trying to build from the SVN code base.

I have one simple question, how do I build the axiscpp?
I do not have JAVA in my debian 4.0 machine.

Can I build is without "ant"? If yes, please let me know the procedure
to accomplish the same.

Thanks in Advance
-Shailesh

-----Original Message-----
From: Nadir Amra [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 14, 2007 5:12 AM
To: Apache AXIS C User List
Subject: RE: Problem with Complex Objects in AxisCPP Engine!!

I would suggest that you use SVN code base.  If that fails, you can
create 
JIRA and attach WSDL file and expected SOAP response.

Nadir K. Amra
e-Business Technologies - IBM eServer i5/OS
IBM Rochester, MN,  (Tel. 507-253-0645, t/l 553-0645)
Internet: [EMAIL PROTECTED]

"Shailesh Srivastava" <[EMAIL PROTECTED]> wrote on 
06/13/2007 08:18:05 AM:

> Hi All,
> 
> Thanks for the information Nadir.
> 
> I tried to use axisxpp 1.6b as well. But with no success.
> 
> Even with axiscpp1.6b I am having the same problem. Axiscpp engine is
> not forming proper complex object.
> Is it a problem with Deep-Copy not being done while copying the
> Parameters??
> 
> If yes, can anyone suggest me where and how can I solve this problem?
> 
> Any help would be appreciated.
> 
> Thanks in Advance
> -Shailesh
> -----Original Message-----
> From: Nadir Amra [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, June 12, 2007 2:04 AM
> To: Apache AXIS C User List
> Cc: [email protected]
> Subject: Re: Problem with Complex Objects in AxisCPP Engine!!
> 
> You should move to AXISCPP 1.6Beta, at the very least.  Better way
would
> 
> be to build the current codebase from SVN since there are numerous
fixes
> 
> that are not in 1.6Beta
> 
> Nadir K. Amra
> 
> 
> "Shailesh Srivastava" <[EMAIL PROTECTED]> wrote on

> 06/11/2007 08:14:22 AM:
> 
> > I am facing a very serious problem with AxisCPP.
> > 
> > The problem is a show-stopper for me.
> > 
> > Here I explain:
> > 
> > 
> > 
> > I am trying to deploy a web-service for ALE(application level
events)
> as
> > per the EPC Global standards. WSDL file has been taken from the EPC
> > Global Standard web-site.
> > 
> > 
> > 
> > The services are deployed properly. 
> > 
> > The Client sends an XML file, which axis server receives and
> > deserializes into Objects named as ECSpecs ( It's a complex type
> > object).
> > 
> > 
> > 
> > But the Values in the ECSpec complex object are not proper.
> > 
> > Example:
> > 
> > The XML file sent by Client is:
> > 
> > <?xml version="1.0" encoding="UTF-8" ?> 
> > 
> > - <ale:ECSpec xmlns:ale="urn:epcglobal:ale:xsd:1"
> > xmlns:epcglobal="urn:epcglobal:xsd:1"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> > xsi:schemaLocation="urn:epcglobal:ale:xsd:1 Ale.xsd"
> schemaVersion="1.0"
> > creationDate="2003-08-06T10:54:06.444-05:00">
> > 
> > - <logicalReaders>
> > 
> >   <logicalReader>dock_1a</logicalReader> 
> > 
> >   <logicalReader>dock_1b</logicalReader> 
> > 
> >   </logicalReaders>
> > 
> > - <boundarySpec>
> > 
> >   <startTrigger>http://sample.com/trigger1</startTrigger> 
> > 
> >   <repeatPeriod unit="MS">20000</repeatPeriod> 
> > 
> >   <stopTrigger>http://sample.com/trigger2</stopTrigger> 
> > 
> >   <duration unit="MS">3000</duration> 
> > 
> >   </boundarySpec>
> > 
> > - <reportSpecs>
> > 
> > - <reportSpec reportName="report1">
> > 
> >   <reportSet set="CURRENT" /> 
> > 
> >   <output includeTag="true" /> 
> > 
> >   </reportSpec>
> > 
> > - <reportSpec reportName="report2">
> > 
> >   <reportSet set="ADDITIONS" /> 
> > 
> >   <output includeCount="true" /> 
> > 
> >   </reportSpec>
> > 
> > - <reportSpec reportName="report3">
> > 
> >   <reportSet set="DELETIONS" /> 
> > 
> > - <groupSpec>
> > 
> >   <pattern>urn:epc:pat:sgtin-64:X.X.X.*</pattern> 
> > 
> >   </groupSpec>
> > 
> >   <output includeCount="true" /> 
> > 
> >   </reportSpec>
> > 
> >   </reportSpecs>
> > 
> > </ale:ECSpec>
> > 
> > 
> > 
> > When I try to access startTrigger etc, values the simple_axis_server
> > dumps.
> > Also, the repeatPeriod which is defined as "xsd__long" and should
have
> a
> > value "2000" is getting a value "275638678"
> > 
> > 
> > 
> > I am using Xerces 2.2 and axiscpp 1.4. I guess it's a problem either
> > with the XML Parser or Desrialization function.
> > 
> > 
> > 
> > Can any one (Samisa, or any one) help me in this regard.
> > 
> > 
> > 
> > Is it a problem with deep copy not being done in engine????
> > 
> > 
> > 
> > Awaiting your response.
> > 
> > 
> > 
> > Thanks in Advance
> > 
> > -Shailesh
> > 
> > Shailesh Srivastava
> > Sr. Software Engineer
> > Ttec.soc-soft.com
> > Extn:3297
> > Mb: +919886624708
> > 
> > 
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
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