You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by virtan <vi...@virtan.com> on 2009/01/02 23:45:40 UTC

autogenerated class misinterprets type of its member

(C++)

Found 2 bugs with compiling autogenerated classes.


1. Function selection error

During compile of autogenerated file I've got the following error:
autogenerated_file.cpp:220: error: 'class  
axiscpp::IWrapperSoapDeSerializer' has no member named 'null'
autogenerated_file.cpp:223: error: 'null' was not declared in this scope

$ head -n 220 autogenerated_file.cpp | tail -n 1
         if ((ZIP = pIWSDZ->null( "ZIP",0)) != NULL)
where pIWSDZ is a pointer to instance of IWrapperSoapDeSerializer,  
passed as arg in autogenerated function.

It is right: there are no "null" method in IWrapperSoapDeSerializer:

$ grep -c null ../include/axis/IWrapperSoapDeSerializer.hpp
0


2. Misinterpreting of field type (looks like it is a reason of 1.)

The same autogenerated file, also ZIP.
original is an instance of autogenerated class.

Code
         if (original.ZIP != NULL)
         {
                 ZIP = new autogenerated_class(*(original.ZIP));
         }
         else
         {
                 ZIP = NULL;
         }
causes
same_autogenerated_file.cpp:309: warning: NULL used in arithmetic
same_autogenerated_file.cpp:311: error: invalid type argument of  
'unary *'

It looks correct, because class of ZIP is defined as "xsd__int".

-- 
virtan / virtan@virtan.com / http://www.virtan.com


RE: AXISCPP: autogenerated class misinterprets type of its member

Posted by "McCullough, Ryan" <rm...@rightnow.com>.
If you tried with the version in SVN, then an example WSDL would be helpful.

-----Original Message-----
From: virtan [mailto:virtan@virtan.com] 
Sent: Saturday, January 03, 2009 12:12 AM
To: Apache AXIS C User List
Subject: Re: AXISCPP: autogenerated class misinterprets type of its member

On 03.01.2009, at 4:27, Nadir Amra wrote:

> Are you using the latest code base in SVN? If not, try that.  The  
> existing
> binaries are buggy and very old.  If you are, need WSDL to recreate
> problem.

I've tried.
Can't compile binary - some problems with linkage (will describe in  
more details soon).
Also your autotools files are broken, but it can be fixed.

>
>
> Nadir Amra
>
> virtan <vi...@virtan.com> wrote on 01/02/2009 04:45:40 PM:
>
>> [image removed]
>>
>> autogenerated class misinterprets type of its member
>>
>> virtan
>>
>> to:
>>
>> Apache AXIS C User List
>>
>> 01/02/2009 04:52 PM
>>
>> Please respond to "Apache AXIS C User List"
>>
>> (C++)
>>
>> Found 2 bugs with compiling autogenerated classes.
>>
>>
>> 1. Function selection error
>>
>> During compile of autogenerated file I've got the following error:
>> autogenerated_file.cpp:220: error: 'class
>> axiscpp::IWrapperSoapDeSerializer' has no member named 'null'
>> autogenerated_file.cpp:223: error: 'null' was not declared in this  
>> scope
>>
>> $ head -n 220 autogenerated_file.cpp | tail -n 1
>>         if ((ZIP = pIWSDZ->null( "ZIP",0)) != NULL)
>> where pIWSDZ is a pointer to instance of IWrapperSoapDeSerializer,
>> passed as arg in autogenerated function.
>>
>> It is right: there are no "null" method in IWrapperSoapDeSerializer:
>>
>> $ grep -c null ../include/axis/IWrapperSoapDeSerializer.hpp
>> 0
>>
>>
>> 2. Misinterpreting of field type (looks like it is a reason of 1.)
>>
>> The same autogenerated file, also ZIP.
>> original is an instance of autogenerated class.
>>
>> Code
>>         if (original.ZIP != NULL)
>>         {
>>                 ZIP = new autogenerated_class(*(original.ZIP));
>>         }
>>         else
>>         {
>>                 ZIP = NULL;
>>         }
>> causes
>> same_autogenerated_file.cpp:309: warning: NULL used in arithmetic
>> same_autogenerated_file.cpp:311: error: invalid type argument of
>> 'unary *'
>>
>> It looks correct, because class of ZIP is defined as "xsd__int".
>>
>> -- 
>> virtan / virtan@virtan.com / http://www.virtan.com
>>
>

-- 
virtan / virtan@virtan.com / http://www.virtan.com


RE: AXISCPP: autogenerated class misinterprets type of its member

Posted by "McCullough, Ryan" <rm...@rightnow.com>.
Also, don't forget to include the command line you use to generate the Axis C++ soap stubs.

-----Original Message-----
From: McCullough, Ryan 
Sent: Tuesday, January 06, 2009 4:46 PM
To: Apache AXIS C User List
Subject: RE: AXISCPP: autogenerated class misinterprets type of its member

If you tried with the version in SVN, then an example WSDL would be helpful.

-----Original Message-----
From: virtan [mailto:virtan@virtan.com] 
Sent: Saturday, January 03, 2009 12:12 AM
To: Apache AXIS C User List
Subject: Re: AXISCPP: autogenerated class misinterprets type of its member

On 03.01.2009, at 4:27, Nadir Amra wrote:

> Are you using the latest code base in SVN? If not, try that.  The  
> existing
> binaries are buggy and very old.  If you are, need WSDL to recreate
> problem.

I've tried.
Can't compile binary - some problems with linkage (will describe in  
more details soon).
Also your autotools files are broken, but it can be fixed.

>
>
> Nadir Amra
>
> virtan <vi...@virtan.com> wrote on 01/02/2009 04:45:40 PM:
>
>> [image removed]
>>
>> autogenerated class misinterprets type of its member
>>
>> virtan
>>
>> to:
>>
>> Apache AXIS C User List
>>
>> 01/02/2009 04:52 PM
>>
>> Please respond to "Apache AXIS C User List"
>>
>> (C++)
>>
>> Found 2 bugs with compiling autogenerated classes.
>>
>>
>> 1. Function selection error
>>
>> During compile of autogenerated file I've got the following error:
>> autogenerated_file.cpp:220: error: 'class
>> axiscpp::IWrapperSoapDeSerializer' has no member named 'null'
>> autogenerated_file.cpp:223: error: 'null' was not declared in this  
>> scope
>>
>> $ head -n 220 autogenerated_file.cpp | tail -n 1
>>         if ((ZIP = pIWSDZ->null( "ZIP",0)) != NULL)
>> where pIWSDZ is a pointer to instance of IWrapperSoapDeSerializer,
>> passed as arg in autogenerated function.
>>
>> It is right: there are no "null" method in IWrapperSoapDeSerializer:
>>
>> $ grep -c null ../include/axis/IWrapperSoapDeSerializer.hpp
>> 0
>>
>>
>> 2. Misinterpreting of field type (looks like it is a reason of 1.)
>>
>> The same autogenerated file, also ZIP.
>> original is an instance of autogenerated class.
>>
>> Code
>>         if (original.ZIP != NULL)
>>         {
>>                 ZIP = new autogenerated_class(*(original.ZIP));
>>         }
>>         else
>>         {
>>                 ZIP = NULL;
>>         }
>> causes
>> same_autogenerated_file.cpp:309: warning: NULL used in arithmetic
>> same_autogenerated_file.cpp:311: error: invalid type argument of
>> 'unary *'
>>
>> It looks correct, because class of ZIP is defined as "xsd__int".
>>
>> -- 
>> virtan / virtan@virtan.com / http://www.virtan.com
>>
>

-- 
virtan / virtan@virtan.com / http://www.virtan.com


Re: AXISCPP: autogenerated class misinterprets type of its member

Posted by virtan <vi...@virtan.com>.
On 03.01.2009, at 4:27, Nadir Amra wrote:

> Are you using the latest code base in SVN? If not, try that.  The  
> existing
> binaries are buggy and very old.  If you are, need WSDL to recreate
> problem.

I've tried.
Can't compile binary — some problems with linkage (will describe in  
more details soon).
Also your autotools files are broken, but it can be fixed.

>
>
> Nadir Amra
>
> virtan <vi...@virtan.com> wrote on 01/02/2009 04:45:40 PM:
>
>> [image removed]
>>
>> autogenerated class misinterprets type of its member
>>
>> virtan
>>
>> to:
>>
>> Apache AXIS C User List
>>
>> 01/02/2009 04:52 PM
>>
>> Please respond to "Apache AXIS C User List"
>>
>> (C++)
>>
>> Found 2 bugs with compiling autogenerated classes.
>>
>>
>> 1. Function selection error
>>
>> During compile of autogenerated file I've got the following error:
>> autogenerated_file.cpp:220: error: 'class
>> axiscpp::IWrapperSoapDeSerializer' has no member named 'null'
>> autogenerated_file.cpp:223: error: 'null' was not declared in this  
>> scope
>>
>> $ head -n 220 autogenerated_file.cpp | tail -n 1
>>         if ((ZIP = pIWSDZ->null( "ZIP",0)) != NULL)
>> where pIWSDZ is a pointer to instance of IWrapperSoapDeSerializer,
>> passed as arg in autogenerated function.
>>
>> It is right: there are no "null" method in IWrapperSoapDeSerializer:
>>
>> $ grep -c null ../include/axis/IWrapperSoapDeSerializer.hpp
>> 0
>>
>>
>> 2. Misinterpreting of field type (looks like it is a reason of 1.)
>>
>> The same autogenerated file, also ZIP.
>> original is an instance of autogenerated class.
>>
>> Code
>>         if (original.ZIP != NULL)
>>         {
>>                 ZIP = new autogenerated_class(*(original.ZIP));
>>         }
>>         else
>>         {
>>                 ZIP = NULL;
>>         }
>> causes
>> same_autogenerated_file.cpp:309: warning: NULL used in arithmetic
>> same_autogenerated_file.cpp:311: error: invalid type argument of
>> 'unary *'
>>
>> It looks correct, because class of ZIP is defined as "xsd__int".
>>
>> -- 
>> virtan / virtan@virtan.com / http://www.virtan.com
>>
>

-- 
virtan / virtan@virtan.com / http://www.virtan.com


AXISCPP: autogenerated class misinterprets type of its member

Posted by Nadir Amra <am...@us.ibm.com>.
Are you using the latest code base in SVN? If not, try that.  The existing 
binaries are buggy and very old.  If you are, need WSDL to recreate 
problem.

Nadir Amra

virtan <vi...@virtan.com> wrote on 01/02/2009 04:45:40 PM:

> [image removed] 
> 
> autogenerated class misinterprets type of its member
> 
> virtan 
> 
> to:
> 
> Apache AXIS C User List
> 
> 01/02/2009 04:52 PM
> 
> Please respond to "Apache AXIS C User List"
> 
> (C++)
> 
> Found 2 bugs with compiling autogenerated classes.
> 
> 
> 1. Function selection error
> 
> During compile of autogenerated file I've got the following error:
> autogenerated_file.cpp:220: error: 'class 
> axiscpp::IWrapperSoapDeSerializer' has no member named 'null'
> autogenerated_file.cpp:223: error: 'null' was not declared in this scope
> 
> $ head -n 220 autogenerated_file.cpp | tail -n 1
>          if ((ZIP = pIWSDZ->null( "ZIP",0)) != NULL)
> where pIWSDZ is a pointer to instance of IWrapperSoapDeSerializer, 
> passed as arg in autogenerated function.
> 
> It is right: there are no "null" method in IWrapperSoapDeSerializer:
> 
> $ grep -c null ../include/axis/IWrapperSoapDeSerializer.hpp
> 0
> 
> 
> 2. Misinterpreting of field type (looks like it is a reason of 1.)
> 
> The same autogenerated file, also ZIP.
> original is an instance of autogenerated class.
> 
> Code
>          if (original.ZIP != NULL)
>          {
>                  ZIP = new autogenerated_class(*(original.ZIP));
>          }
>          else
>          {
>                  ZIP = NULL;
>          }
> causes
> same_autogenerated_file.cpp:309: warning: NULL used in arithmetic
> same_autogenerated_file.cpp:311: error: invalid type argument of 
> 'unary *'
> 
> It looks correct, because class of ZIP is defined as "xsd__int".
> 
> -- 
> virtan / virtan@virtan.com / http://www.virtan.com
>