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 Ivan Venuti <i_...@yahoo.it> on 2005/04/19 10:10:14 UTC

axis 1.5 and nonIntegerInteger...

Hi,

I'm new With Axis C++ (I've experience on Axis for
Java). I've written a Java server and I need to
generate a client in C++.
I've downloaded Axis C++ 1.5 final; I've tried to
generate my client from an existing service (WSDL).
Here are some warning messages during client creation:

[START]
19-apr-2005 8.33.41 org.apache.axis.utils.JavaUtils
isAttachmentSupported
AVVERTENZA: Unable to find required classes
(javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support
is disabled.
Possible error in class nonNegativeInteger: class with
no attributes....................
Possible error in class nonNegativeInteger: class with
no attributes....................

Code generation completed.
[FINISH]

Is there something wrong? The class generate for
nonNegativeInteger is:


#include <axis/AxisWrapperAPI.hpp>

#include "nonNegativeInteger.hpp"
/*
 * This static method serialize a nonNegativeInteger
type of object
 */
int
Axis_Serialize_nonNegativeInteger(nonNegativeInteger*
param, IWrapperSoapSerializer* pSZ, bool bArray =
false)
{
	pSZ->serialize(">", NULL);
	return AXIS_SUCCESS;
}

/*
 * This static method deserialize a nonNegativeInteger
type of object
 */
int
Axis_DeSerialize_nonNegativeInteger(nonNegativeInteger*
param, IWrapperSoapDeSerializer* pIWSDZ)
{
	return AXIS_SUCCESS;
}

void*
Axis_Create_nonNegativeInteger(nonNegativeInteger*
pObj, bool bArray = false, int nSize=0)
{
	if (bArray && (nSize > 0))
	{
		if (pObj)
		{
			nonNegativeInteger* pNew = new
nonNegativeInteger[nSize];
			memcpy(pNew, pObj,
sizeof(nonNegativeInteger)*nSize/2);
			memset(pObj, 0,
sizeof(nonNegativeInteger)*nSize/2);
			delete [] pObj;
			return pNew;
		}
		else
		{
			return new nonNegativeInteger[nSize];
		}
	}
	else
		return new nonNegativeInteger;
}

/*
 * This static method delete a nonNegativeInteger type
of object
 */
void
Axis_Delete_nonNegativeInteger(nonNegativeInteger*
param, bool bArray = false, int nSize=0)
{
	if (bArray)
	{
		delete [] param;
	}
	else
	{
		delete param;
	}
}
/*
 * This static method gives the size of
nonNegativeInteger type of object
 */
int Axis_GetSize_nonNegativeInteger()
{
	return sizeof(nonNegativeInteger);
}

nonNegativeInteger::nonNegativeInteger()
{
	/*do not allocate memory to any pointer members here
	 because deserializer will allocate memory anyway. */
}

nonNegativeInteger::~nonNegativeInteger()
{
	/*delete any pointer and array members here*/
}


I need also a suggestion in how to achieve these steps
in Visual Studio C++ (from winuser-guide.html):
 4) Set the include path to the include directory of
the binary distribution. 
 5) Add the following libs to the library modules path
of this project. 

  Axis_Extract/lib/axis/ 
  Axisclient.lib 

 
Thanks

-- Ivan


		
___________________________________ 
Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica… Scaricalo ora! 
http://it.messenger.yahoo.it

Re: Help with Visual Studio C++

Posted by John Hawkins <HA...@uk.ibm.com>.
Ivan Venuti <i_...@yahoo.it> wrote on 19/04/2005 19:25:46:

> I've posted this at a longer email. Sorry for double
> posting, but I think that using another (more
> specific) thread would make my question more
> visible...
> 
> > I need also a suggestion in how to achieve these
> steps
> > in Visual Studio C++ (from winuser-guide.html):
> >  4) Set the include path to the include directory of
> > the binary distribution.

tools->options->directories(tab)

> >  5) Add the following libs to the library modules
> path
> > of this project.

right click on your project ->settings->link (tab)-> type in the name in 
the object/library modules box

> >
> >   Axis_Extract/lib/axis/
> >   Axisclient.lib
> >
> >
> > Thanks
> >
> 
> 
>  -- Ivan
> 
> 
> 
> 
> 
> ___________________________________ 
> Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, 
> Webcam, Giochi, Rubrica? Scaricalo ora! 
> http://it.messenger.yahoo.it

Help with Visual Studio C++

Posted by Ivan Venuti <i_...@yahoo.it>.
I've posted this at a longer email. Sorry for double
posting, but I think that using another (more
specific) thread would make my question more
visible...

> I need also a suggestion in how to achieve these
steps
> in Visual Studio C++ (from winuser-guide.html):
>  4) Set the include path to the include directory of
> the binary distribution.
>  5) Add the following libs to the library modules
path
> of this project.
>
>   Axis_Extract/lib/axis/
>   Axisclient.lib
>
>
> Thanks
>


 -- Ivan




		
___________________________________ 
Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar, Webcam, Giochi, Rubrica… Scaricalo ora! 
http://it.messenger.yahoo.it

Re: axis 1.5 and nonIntegerInteger...

Posted by Adrian Dick <ad...@uk.ibm.com>.
Hi,

Axis C does not currently support all of the xsd simple types, including
nonNegativeInteger, as defined in your WSDL.
Due it not recognising this is a simple type, it attempts to produce a
Complex Type.

The current state of support has been captured in Jira issue 416 (
http://issues.apache.org/jira/browse/AXISCPP-416 ), you can also check
<axis install>/include/axis/AxisUserAPI.hpp or it's generated API Docs.
The intent is to extend this support in 1.6 for all the remaining xsd
simple types.

Do you have any control over the web service and it's WSDL?  If so, you
could use unsignedLong or unsignedInt (depending on your required numeric
range) rather than nonNegativeInteger.

Adrian
_______________________________________
Adrian Dick (adrian.dick@uk.ibm.com)


Ivan Venuti <i_...@yahoo.it> wrote on 19/04/2005 09:10:14:

> Hi,
>
> I'm new With Axis C++ (I've experience on Axis for
> Java). I've written a Java server and I need to
> generate a client in C++.
> I've downloaded Axis C++ 1.5 final; I've tried to
> generate my client from an existing service (WSDL).
> Here are some warning messages during client creation:
>
> [START]
> 19-apr-2005 8.33.41 org.apache.axis.utils.JavaUtils
> isAttachmentSupported
> AVVERTENZA: Unable to find required classes
> (javax.activation.DataHandler and
> javax.mail.internet.MimeMultipart). Attachment support
> is disabled.
> Possible error in class nonNegativeInteger: class with
> no attributes....................
> Possible error in class nonNegativeInteger: class with
> no attributes....................
>
> Code generation completed.
> [FINISH]
>
> Is there something wrong? The class generate for
> nonNegativeInteger is:
>
>
> #include <axis/AxisWrapperAPI.hpp>
>
> #include "nonNegativeInteger.hpp"
> /*
>  * This static method serialize a nonNegativeInteger
> type of object
>  */
> int
> Axis_Serialize_nonNegativeInteger(nonNegativeInteger*
> param, IWrapperSoapSerializer* pSZ, bool bArray =
> false)
> {
>    pSZ->serialize(">", NULL);
>    return AXIS_SUCCESS;
> }
>
> /*
>  * This static method deserialize a nonNegativeInteger
> type of object
>  */
> int
> Axis_DeSerialize_nonNegativeInteger(nonNegativeInteger*
> param, IWrapperSoapDeSerializer* pIWSDZ)
> {
>    return AXIS_SUCCESS;
> }
>
> void*
> Axis_Create_nonNegativeInteger(nonNegativeInteger*
> pObj, bool bArray = false, int nSize=0)
> {
>    if (bArray && (nSize > 0))
>    {
>       if (pObj)
>       {
>          nonNegativeInteger* pNew = new
> nonNegativeInteger[nSize];
>          memcpy(pNew, pObj,
> sizeof(nonNegativeInteger)*nSize/2);
>          memset(pObj, 0,
> sizeof(nonNegativeInteger)*nSize/2);
>          delete [] pObj;
>          return pNew;
>       }
>       else
>       {
>          return new nonNegativeInteger[nSize];
>       }
>    }
>    else
>       return new nonNegativeInteger;
> }
>
> /*
>  * This static method delete a nonNegativeInteger type
> of object
>  */
> void
> Axis_Delete_nonNegativeInteger(nonNegativeInteger*
> param, bool bArray = false, int nSize=0)
> {
>    if (bArray)
>    {
>       delete [] param;
>    }
>    else
>    {
>       delete param;
>    }
> }
> /*
>  * This static method gives the size of
> nonNegativeInteger type of object
>  */
> int Axis_GetSize_nonNegativeInteger()
> {
>    return sizeof(nonNegativeInteger);
> }
>
> nonNegativeInteger::nonNegativeInteger()
> {
>    /*do not allocate memory to any pointer members here
>     because deserializer will allocate memory anyway. */
> }
>
> nonNegativeInteger::~nonNegativeInteger()
> {
>    /*delete any pointer and array members here*/
> }
>
>
> I need also a suggestion in how to achieve these steps
> in Visual Studio C++ (from winuser-guide.html):
>  4) Set the include path to the include directory of
> the binary distribution.
>  5) Add the following libs to the library modules path
> of this project.
>
>   Axis_Extract/lib/axis/
>   Axisclient.lib
>
>
> Thanks
>
> -- Ivan
>
>
>
> ___________________________________
> Nuovo Yahoo! Messenger: E' molto più divertente: Audibles, Avatar,
> Webcam, Giochi, Rubrica… Scaricalo ora!
> http://it.messenger.yahoo.it