You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2005/11/08 18:14:07 UTC
svn commit: r331849 - in /webservices/axis/trunk/c: include/axis/
include/axis/client/ src/cbindings/ src/cbindings/client/ src/common/
src/engine/client/ src/soap/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/
src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/li...
Author: dicka
Date: Tue Nov 8 09:13:51 2005
New Revision: 331849
URL: http://svn.apache.org/viewcvs?rev=331849&view=rev
Log:
Further updates to resolve Jira issue AXISCPP-149.
Resolve compilation and runtime problems on Unix for arrays of simple types.
Modified:
webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp
webservices/axis/trunk/c/include/axis/AxisWrapperAPI.hpp
webservices/axis/trunk/c/include/axis/IWrapperSoapDeSerializer.hpp
webservices/axis/trunk/c/include/axis/client/Call.hpp
webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
webservices/axis/trunk/c/src/cbindings/client/CallC.cpp
webservices/axis/trunk/c/src/common/AxisUserAPI.cpp
webservices/axis/trunk/c/src/engine/client/Call.cpp
webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
webservices/axis/trunk/c/src/soap/SoapDeSerializer.h
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp
Modified: webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp (original)
+++ webservices/axis/trunk/c/include/axis/AxisUserAPI.hpp Tue Nov 8 09:13:51 2005
@@ -331,7 +331,7 @@
/**
* Destructor
*/
- virtual ~Axis_Array();
+ ~Axis_Array();
/**
* Clone the content of an existing Axis_Array
@@ -346,7 +346,7 @@
* @param size of the array, including NULL entries.
* @param type of data.
*/
- void set(void* array, int size, const XSDTYPE type);
+ void set(void** array, int size, const XSDTYPE type);
/**
* Return a c-style array.
@@ -355,7 +355,7 @@
* @param type, this will be updated with the type of the data returned.
* @return c-style array of pointers to the array data.
*/
- const void* get(int& size, XSDTYPE& type) const;
+ const void** get(int& size, XSDTYPE& type) const;
/**
* Clear the array, and it's data
@@ -366,7 +366,7 @@
friend class SoapSerializer;
protected:
- void* m_Array; // Array of pointers to array elements
+ void** m_Array; // Array of pointers to array elements
int m_Size; // Size of array
XSDTYPE m_Type; // XSD datatype within this array
};
Modified: webservices/axis/trunk/c/include/axis/AxisWrapperAPI.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/AxisWrapperAPI.hpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/AxisWrapperAPI.hpp (original)
+++ webservices/axis/trunk/c/include/axis/AxisWrapperAPI.hpp Tue Nov 8 09:13:51 2005
@@ -45,7 +45,7 @@
* Function used to create a custom type. bArray is true if array of
* objects to be created. Then nSize is the size of that array.
*/
-typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void*, bool bArray, int nSize);
+typedef void* (* AXIS_OBJECT_CREATE_FUNCT)(void**, bool bArray, int nSize);
/**
* @fn AXIS_OBJECT_DELETE_FUNCT
Modified: webservices/axis/trunk/c/include/axis/IWrapperSoapDeSerializer.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/IWrapperSoapDeSerializer.hpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/IWrapperSoapDeSerializer.hpp (original)
+++ webservices/axis/trunk/c/include/axis/IWrapperSoapDeSerializer.hpp Tue Nov 8 09:13:51 2005
@@ -43,11 +43,11 @@
virtual void* AXISCALL checkForFault(const AxisChar* pName,
const AxisChar* pNamespace)=0;
/* Method used by wrappers to get a deserialized Array of complex types */
- virtual Axis_Array AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
+ virtual Axis_Array* AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
void* pDelFunct, void* pSizeFunct, const AxisChar* pName,
const AxisChar* pNamespace)=0;
/* Method used by wrappers to get a deserialized Array of basic types */
- virtual Axis_Array AXISCALL getBasicArray(XSDTYPE nType,
+ virtual Axis_Array* AXISCALL getBasicArray(XSDTYPE nType,
const AxisChar* pName, const AxisChar* pNamespace)=0;
/* Method used by wrappers to get a deserialized single object of
* complex type
Modified: webservices/axis/trunk/c/include/axis/client/Call.hpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/include/axis/client/Call.hpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/include/axis/client/Call.hpp (original)
+++ webservices/axis/trunk/c/include/axis/client/Call.hpp Tue Nov 8 09:13:51 2005
@@ -337,11 +337,11 @@
void* AXISCALL getCmplxObject(void* pDZFunct, void* pCreFunct,
void* pDelFunct, const AxisChar* pName, const AxisChar* pNamespace);
/* Method used by stubs to get a deserialized Array of complex types */
- Axis_Array AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
+ Axis_Array* AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
void* pDelFunct, void* pSizeFunct, const AxisChar* pName,
const AxisChar* pNamespace);
/* Method used by stubs to get a deserialized Array of basic types */
- Axis_Array AXISCALL getBasicArray(XSDTYPE nType, const AxisChar* pName,
+ Axis_Array* AXISCALL getBasicArray(XSDTYPE nType, const AxisChar* pName,
const AxisChar* pNamespace);
int AXISCALL checkMessage(const AxisChar* pName,
Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp Tue Nov 8 09:13:51 2005
@@ -43,22 +43,22 @@
return dz->checkForFault(pName,pNamespace);
}
-AXISC_STORAGE_CLASS_INFO Axisc_Array axiscGetCmplxArrayIWrapperSoapDeSerializer(AXISCHANDLE wrapperSoapDeSerializer, void * pDZFunct,
+AXISC_STORAGE_CLASS_INFO Axisc_Array* axiscGetCmplxArrayIWrapperSoapDeSerializer(AXISCHANDLE wrapperSoapDeSerializer, void * pDZFunct,
void * pCreFunct, void * pDelFunct, void * pSizeFunct,
const AxiscChar * pName, const AxiscChar * pNamespace) {
IWrapperSoapDeSerializer *dz = (IWrapperSoapDeSerializer*)wrapperSoapDeSerializer;
// TODO: not implemented
- Axisc_Array aa;
- memset(&aa,0,sizeof(aa));
+ Axisc_Array* aa;
+ memset(aa,0,sizeof(aa));
return aa;
}
-AXISC_STORAGE_CLASS_INFO Axisc_Array axiscGetBasicArrayIWrapperSoapDeSerializer(AXISCHANDLE wrapperSoapDeSerializer, AXISC_XSDTYPE nType,
+AXISC_STORAGE_CLASS_INFO Axisc_Array* axiscGetBasicArrayIWrapperSoapDeSerializer(AXISCHANDLE wrapperSoapDeSerializer, AXISC_XSDTYPE nType,
const AxiscChar * pName, const AxiscChar * pNamespace) {
IWrapperSoapDeSerializer *dz = (IWrapperSoapDeSerializer*)wrapperSoapDeSerializer;
// TODO: not implemented
- Axisc_Array aa;
- memset(&aa,0,sizeof(aa));
+ Axisc_Array* aa;
+ memset(aa,0,sizeof(aa));
return aa;
}
Modified: webservices/axis/trunk/c/src/cbindings/client/CallC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/client/CallC.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/client/CallC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/client/CallC.cpp Tue Nov 8 09:13:51 2005
@@ -412,20 +412,20 @@
return c->getCmplxObject(pDZFunct,pCreFunct,pDelFunct,pName,pNamespace);
}
-AXISC_STORAGE_CLASS_INFO Axisc_Array axiscGetCmplxArrayCall(AXISCHANDLE call, void * pDZFunct,
+AXISC_STORAGE_CLASS_INFO Axisc_Array* axiscGetCmplxArrayCall(AXISCHANDLE call, void * pDZFunct,
void * pCreFunct, void * pDelFunct, void * pSizeFunct,
const AxiscChar * pName, const AxiscChar * pNamespace) {
//TODO: Unimplemented
- Axisc_Array aa;
- memset(&aa,0,sizeof(aa));
+ Axisc_Array* aa;
+ memset(aa,0,sizeof(aa));
return aa;
}
-AXISC_STORAGE_CLASS_INFO Axisc_Array axiscGetBasicArrayCall(AXISCHANDLE call, AXISC_XSDTYPE nType,
+AXISC_STORAGE_CLASS_INFO Axisc_Array* axiscGetBasicArrayCall(AXISCHANDLE call, AXISC_XSDTYPE nType,
const AxiscChar * pName, const AxiscChar * pNamespace) {
//TODO: Unimplemented
- Axisc_Array aa;
- memset(&aa,0,sizeof(aa));
+ Axisc_Array* aa;
+ memset(aa,0,sizeof(aa));
return aa;
}
Modified: webservices/axis/trunk/c/src/common/AxisUserAPI.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/common/AxisUserAPI.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/common/AxisUserAPI.cpp (original)
+++ webservices/axis/trunk/c/src/common/AxisUserAPI.cpp Tue Nov 8 09:13:51 2005
@@ -80,7 +80,7 @@
set(original.m_Array, original.m_Size, original.m_Type);
}
-void Axis_Array::set(void* array, int size, XSDTYPE type)
+void Axis_Array::set(void** array, int size, XSDTYPE type)
{
clear();
m_Size = size;
@@ -92,13 +92,13 @@
}
else
{
- m_Array = new void*[m_Size]();
+ m_Array = new void*[m_Size];
for (int count = 0 ; count < m_Size ; count++)
{
- if (((void**) array)[count] == NULL)
+ if ( array[count] == NULL)
{
- ((void**) m_Array)[count] = NULL;
+ m_Array[count] = NULL;
}
else
{
@@ -160,79 +160,79 @@
}
case XSD_STRING:
{
- ((xsd__string*) m_Array)[count] = new char[strlen(((xsd__string*) array)[count])+1]();
+ ((xsd__string*) m_Array)[count] = new char[strlen(((xsd__string*) array)[count])+1];
strcpy(((xsd__string*) m_Array)[count], ((xsd__string*) array)[count]);
break;
}
case XSD_NORMALIZEDSTRING:
{
- ((xsd__normalizedString*) m_Array)[count] = new char[strlen(((xsd__normalizedString*) array)[count])+1]();
+ ((xsd__normalizedString*) m_Array)[count] = new char[strlen(((xsd__normalizedString*) array)[count])+1];
strcpy(((xsd__normalizedString*) m_Array)[count], ((xsd__normalizedString*) array)[count]);
break;
}
case XSD_TOKEN:
{
- ((xsd__token*) m_Array)[count] = new char[strlen(((xsd__token*) array)[count])+1]();
+ ((xsd__token*) m_Array)[count] = new char[strlen(((xsd__token*) array)[count])+1];
strcpy(((xsd__token*) m_Array)[count], ((xsd__token*) array)[count]);
break;
}
case XSD_LANGUAGE:
{
- ((xsd__language*) m_Array)[count] = new char[strlen(((xsd__language*) array)[count])+1]();
+ ((xsd__language*) m_Array)[count] = new char[strlen(((xsd__language*) array)[count])+1];
strcpy(((xsd__language*) m_Array)[count], ((xsd__language*) array)[count]);
break;
}
case XSD_NAME:
{
- ((xsd__Name*) m_Array)[count] = new char[strlen(((xsd__Name*) array)[count])+1]();
+ ((xsd__Name*) m_Array)[count] = new char[strlen(((xsd__Name*) array)[count])+1];
strcpy(((xsd__Name*) m_Array)[count], ((xsd__Name*) array)[count]);
break;
}
case XSD_NCNAME:
{
- ((xsd__NCName*) m_Array)[count] = new char[strlen(((xsd__NCName*) array)[count])+1]();
+ ((xsd__NCName*) m_Array)[count] = new char[strlen(((xsd__NCName*) array)[count])+1];
strcpy(((xsd__NCName*) m_Array)[count], ((xsd__NCName*) array)[count]);
break;
}
case XSD_ID:
{
- ((xsd__ID*) m_Array)[count] = new char[strlen(((xsd__ID*) array)[count])+1]();
+ ((xsd__ID*) m_Array)[count] = new char[strlen(((xsd__ID*) array)[count])+1];
strcpy(((xsd__ID*) m_Array)[count], ((xsd__ID*) array)[count]);
break;
}
case XSD_IDREF:
{
- ((xsd__IDREF*) m_Array)[count] = new char[strlen(((xsd__IDREF*) array)[count])+1]();
+ ((xsd__IDREF*) m_Array)[count] = new char[strlen(((xsd__IDREF*) array)[count])+1];
strcpy(((xsd__IDREF*) m_Array)[count], ((xsd__IDREF*) array)[count]);
break;
}
case XSD_IDREFS:
{
- ((xsd__IDREFS*) m_Array)[count] = new char[strlen(((xsd__IDREFS*) array)[count])+1]();
+ ((xsd__IDREFS*) m_Array)[count] = new char[strlen(((xsd__IDREFS*) array)[count])+1];
strcpy(((xsd__IDREFS*) m_Array)[count], ((xsd__IDREFS*) array)[count]);
break;
}
case XSD_ENTITY:
{
- ((xsd__ENTITY*) m_Array)[count] = new char[strlen(((xsd__ENTITY*) array)[count])+1]();
+ ((xsd__ENTITY*) m_Array)[count] = new char[strlen(((xsd__ENTITY*) array)[count])+1];
strcpy(((xsd__ENTITY*) m_Array)[count], ((xsd__ENTITY*) array)[count]);
break;
}
case XSD_ENTITIES:
{
- ((xsd__ENTITIES*) m_Array)[count] = new char[strlen(((xsd__ENTITIES*) array)[count])+1]();
+ ((xsd__ENTITIES*) m_Array)[count] = new char[strlen(((xsd__ENTITIES*) array)[count])+1];
strcpy(((xsd__ENTITIES*) m_Array)[count], ((xsd__ENTITIES*) array)[count]);
break;
}
case XSD_NMTOKEN:
{
- ((xsd__NMTOKEN*) m_Array)[count] = new char[strlen(((xsd__NMTOKEN*) array)[count])+1]();
+ ((xsd__NMTOKEN*) m_Array)[count] = new char[strlen(((xsd__NMTOKEN*) array)[count])+1];
strcpy(((xsd__NMTOKEN*) m_Array)[count], ((xsd__NMTOKEN*) array)[count]);
break;
}
case XSD_NMTOKENS:
{
- ((xsd__NMTOKENS*) m_Array)[count] = new char[strlen(((xsd__NMTOKENS*) array)[count])+1]();
+ ((xsd__NMTOKENS*) m_Array)[count] = new char[strlen(((xsd__NMTOKENS*) array)[count])+1];
strcpy(((xsd__NMTOKENS*) m_Array)[count], ((xsd__NMTOKENS*) array)[count]);
break;
}
@@ -362,19 +362,19 @@
}
case XSD_ANYURI:
{
- ((xsd__anyURI*) m_Array)[count] = new char[strlen(((xsd__anyURI*) array)[count])+1]();
+ ((xsd__anyURI*) m_Array)[count] = new char[strlen(((xsd__anyURI*) array)[count])+1];
strcpy(((xsd__anyURI*) m_Array)[count], ((xsd__anyURI*) array)[count]);
break;
}
case XSD_QNAME:
{
- ((xsd__QName*) m_Array)[count] = new char[strlen(((xsd__QName*) array)[count])+1]();
+ ((xsd__QName*) m_Array)[count] = new char[strlen(((xsd__QName*) array)[count])+1];
strcpy(((xsd__QName*) m_Array)[count], ((xsd__QName*) array)[count]);
break;
}
case XSD_NOTATION:
{
- ((xsd__NOTATION*) m_Array)[count] = new char[strlen(((xsd__NOTATION*) array)[count])+1]();
+ ((xsd__NOTATION*) m_Array)[count] = new char[strlen(((xsd__NOTATION*) array)[count])+1];
strcpy(((xsd__NOTATION*) m_Array)[count], ((xsd__NOTATION*) array)[count]);
break;
}
@@ -397,11 +397,11 @@
}
}
-const void* Axis_Array::get(int& size, XSDTYPE& type) const
+const void** Axis_Array::get(int& size, XSDTYPE& type) const
{
size = m_Size;
type = m_Type;
- return m_Array;
+ return (const void**) m_Array;
}
@@ -418,7 +418,7 @@
{
for (int count = 0 ; count < m_Size ; count++)
{
- if (((int*) m_Array)[count] != NULL)
+ if (m_Array[count] != NULL)
{
switch (m_Type)
{
@@ -678,7 +678,7 @@
void xsd__duration_Array::set(xsd__duration** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__duration** xsd__duration_Array::get(int& size) const
@@ -702,7 +702,7 @@
void xsd__dateTime_Array::set(xsd__dateTime** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__dateTime** xsd__dateTime_Array::get(int& size) const
@@ -726,7 +726,7 @@
void xsd__time_Array::set(xsd__time** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__time** xsd__time_Array::get(int& size) const
@@ -750,7 +750,7 @@
void xsd__date_Array::set(xsd__date** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__date** xsd__date_Array::get(int& size) const
@@ -774,7 +774,7 @@
void xsd__gYearMonth_Array::set(xsd__gYearMonth** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__gYearMonth** xsd__gYearMonth_Array::get(int& size) const
@@ -798,7 +798,7 @@
void xsd__gYear_Array::set(xsd__gYear** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__gYear** xsd__gYear_Array::get(int& size) const
@@ -822,7 +822,7 @@
void xsd__gMonthDay_Array::set(xsd__gMonthDay** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__gMonthDay** xsd__gMonthDay_Array::get(int& size) const
@@ -845,7 +845,7 @@
}
void xsd__gMonth_Array::set(xsd__gMonth** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__gMonth** xsd__gMonth_Array::get(int& size) const
@@ -869,7 +869,7 @@
void xsd__gDay_Array::set(xsd__gDay** array, int size)
{
- Axis_Array::set(array, size, XSD_DURATION);
+ Axis_Array::set((void**)array, size, XSD_DURATION);
}
const xsd__gDay** xsd__gDay_Array::get(int& size) const
@@ -893,7 +893,7 @@
void xsd__string_Array::set(xsd__string* array, int size)
{
- Axis_Array::set(array, size, XSD_STRING);
+ Axis_Array::set((void**)array, size, XSD_STRING);
}
const xsd__string* xsd__string_Array::get(int& size) const
@@ -917,7 +917,7 @@
void xsd__normalizedString_Array::set(xsd__normalizedString* array, int size)
{
- Axis_Array::set(array, size, XSD_NORMALIZEDSTRING);
+ Axis_Array::set((void**)array, size, XSD_NORMALIZEDSTRING);
}
const xsd__normalizedString* xsd__normalizedString_Array::get(int& size) const
@@ -941,7 +941,7 @@
void xsd__token_Array::set(xsd__token* array, int size)
{
- Axis_Array::set(array, size, XSD_TOKEN);
+ Axis_Array::set((void**)array, size, XSD_TOKEN);
}
const xsd__token* xsd__token_Array::get(int& size) const
@@ -965,7 +965,7 @@
void xsd__language_Array::set(xsd__language* array, int size)
{
- Axis_Array::set(array, size, XSD_LANGUAGE);
+ Axis_Array::set((void**)array, size, XSD_LANGUAGE);
}
const xsd__language* xsd__language_Array::get(int& size) const
@@ -989,7 +989,7 @@
void xsd__Name_Array::set(xsd__Name* array, int size)
{
- Axis_Array::set(array, size, XSD_NAME);
+ Axis_Array::set((void**)array, size, XSD_NAME);
}
const xsd__Name* xsd__Name_Array::get(int& size) const
@@ -1013,7 +1013,7 @@
void xsd__NCName_Array::set(xsd__NCName* array, int size)
{
- Axis_Array::set(array, size, XSD_NCNAME);
+ Axis_Array::set((void**)array, size, XSD_NCNAME);
}
const xsd__NCName* xsd__NCName_Array::get(int& size) const
@@ -1037,7 +1037,7 @@
void xsd__ID_Array::set(xsd__ID* array, int size)
{
- Axis_Array::set(array, size, XSD_ID);
+ Axis_Array::set((void**)array, size, XSD_ID);
}
const xsd__ID* xsd__ID_Array::get(int& size) const
@@ -1061,7 +1061,7 @@
void xsd__IDREF_Array::set(xsd__IDREF* array, int size)
{
- Axis_Array::set(array, size, XSD_IDREF);
+ Axis_Array::set((void**)array, size, XSD_IDREF);
}
const xsd__IDREF* xsd__IDREF_Array::get(int& size) const
@@ -1085,7 +1085,7 @@
void xsd__IDREFS_Array::set(xsd__IDREFS* array, int size)
{
- Axis_Array::set(array, size, XSD_IDREFS);
+ Axis_Array::set((void**)array, size, XSD_IDREFS);
}
const xsd__IDREFS* xsd__IDREFS_Array::get(int& size) const
@@ -1109,7 +1109,7 @@
void xsd__ENTITY_Array::set(xsd__ENTITY* array, int size)
{
- Axis_Array::set(array, size, XSD_ENTITY);
+ Axis_Array::set((void**)array, size, XSD_ENTITY);
}
const xsd__ENTITY* xsd__ENTITY_Array::get(int& size) const
@@ -1133,7 +1133,7 @@
void xsd__ENTITIES_Array::set(xsd__ENTITIES* array, int size)
{
- Axis_Array::set(array, size, XSD_ENTITIES);
+ Axis_Array::set((void**)array, size, XSD_ENTITIES);
}
const xsd__ENTITIES* xsd__ENTITIES_Array::get(int& size) const
@@ -1157,7 +1157,7 @@
void xsd__NMTOKEN_Array::set(xsd__NMTOKEN* array, int size)
{
- Axis_Array::set(array, size, XSD_NMTOKEN);
+ Axis_Array::set((void**)array, size, XSD_NMTOKEN);
}
const xsd__NMTOKEN* xsd__NMTOKEN_Array::get(int& size) const
@@ -1181,7 +1181,7 @@
void xsd__NMTOKENS_Array::set(xsd__NMTOKENS* array, int size)
{
- Axis_Array::set(array, size, XSD_NMTOKEN);
+ Axis_Array::set((void**)array, size, XSD_NMTOKEN);
}
const xsd__NMTOKENS* xsd__NMTOKENS_Array::get(int& size) const
@@ -1205,7 +1205,7 @@
void xsd__boolean_Array::set(xsd__boolean** array, int size)
{
- Axis_Array::set(array, size, XSD_BOOLEAN);
+ Axis_Array::set((void**)array, size, XSD_BOOLEAN);
}
const xsd__boolean** xsd__boolean_Array::get(int& size) const
@@ -1229,7 +1229,7 @@
void xsd__base64Binary_Array::set(xsd__base64Binary** array, int size)
{
- Axis_Array::set(array, size, XSD_BASE64BINARY);
+ Axis_Array::set((void**)array, size, XSD_BASE64BINARY);
}
const xsd__base64Binary** xsd__base64Binary_Array::get(int& size) const
@@ -1253,7 +1253,7 @@
void xsd__hexBinary_Array::set(xsd__hexBinary** array, int size)
{
- Axis_Array::set(array, size, XSD_HEXBINARY);
+ Axis_Array::set((void**)array, size, XSD_HEXBINARY);
}
const xsd__hexBinary** xsd__hexBinary_Array::get(int& size) const
@@ -1277,7 +1277,7 @@
void xsd__float_Array::set(xsd__float** array, int size)
{
- Axis_Array::set(array, size, XSD_FLOAT);
+ Axis_Array::set((void**)array, size, XSD_FLOAT);
}
const xsd__float** xsd__float_Array::get(int& size) const
@@ -1301,7 +1301,7 @@
void xsd__decimal_Array::set(xsd__decimal** array, int size)
{
- Axis_Array::set(array, size, XSD_DECIMAL);
+ Axis_Array::set((void**)array, size, XSD_DECIMAL);
}
const xsd__decimal** xsd__decimal_Array::get(int& size) const
@@ -1325,7 +1325,7 @@
void xsd__integer_Array::set(xsd__integer** array, int size)
{
- Axis_Array::set(array, size, XSD_INTEGER);
+ Axis_Array::set((void**)array, size, XSD_INTEGER);
}
const xsd__integer** xsd__integer_Array::get(int& size) const
@@ -1349,7 +1349,7 @@
void xsd__nonPositiveInteger_Array::set(xsd__nonPositiveInteger** array, int size)
{
- Axis_Array::set(array, size, XSD_NONPOSITIVEINTEGER);
+ Axis_Array::set((void**)array, size, XSD_NONPOSITIVEINTEGER);
}
const xsd__nonPositiveInteger** xsd__nonPositiveInteger_Array::get(int& size) const
@@ -1373,7 +1373,7 @@
void xsd__negativeInteger_Array::set(xsd__negativeInteger** array, int size)
{
- Axis_Array::set(array, size, XSD_NEGATIVEINTEGER);
+ Axis_Array::set((void**)array, size, XSD_NEGATIVEINTEGER);
}
const xsd__negativeInteger** xsd__negativeInteger_Array::get(int& size) const
@@ -1397,7 +1397,7 @@
void xsd__long_Array::set(xsd__long** array, int size)
{
- Axis_Array::set(array, size, XSD_LONG);
+ Axis_Array::set((void**)array, size, XSD_LONG);
}
const xsd__long** xsd__long_Array::get(int& size) const
@@ -1421,7 +1421,7 @@
void xsd__int_Array::set(xsd__int** array, int size)
{
- Axis_Array::set(array, size, XSD_INT);
+ Axis_Array::set((void**)array, size, XSD_INT);
}
const xsd__int** xsd__int_Array::get(int& size) const
@@ -1445,7 +1445,7 @@
void xsd__short_Array::set(xsd__short** array, int size)
{
- Axis_Array::set(array, size, XSD_SHORT);
+ Axis_Array::set((void**)array, size, XSD_SHORT);
}
const xsd__short** xsd__short_Array::get(int& size) const
@@ -1469,7 +1469,7 @@
void xsd__byte_Array::set(xsd__byte** array, int size)
{
- Axis_Array::set(array, size, XSD_BYTE);
+ Axis_Array::set((void**)array, size, XSD_BYTE);
}
const xsd__byte** xsd__byte_Array::get(int& size) const
@@ -1493,7 +1493,7 @@
void xsd__nonNegativeInteger_Array::set(xsd__nonNegativeInteger** array, int size)
{
- Axis_Array::set(array, size, XSD_NONNEGATIVEINTEGER);
+ Axis_Array::set((void**)array, size, XSD_NONNEGATIVEINTEGER);
}
const xsd__nonNegativeInteger** xsd__nonNegativeInteger_Array::get(int& size) const
@@ -1517,7 +1517,7 @@
void xsd__unsignedLong_Array::set(xsd__unsignedLong** array, int size)
{
- Axis_Array::set(array, size, XSD_UNSIGNEDLONG);
+ Axis_Array::set((void**)array, size, XSD_UNSIGNEDLONG);
}
const xsd__unsignedLong** xsd__unsignedLong_Array::get(int& size) const
@@ -1541,7 +1541,7 @@
void xsd__unsignedInt_Array::set(xsd__unsignedInt** array, int size)
{
- Axis_Array::set(array, size, XSD_UNSIGNEDINT);
+ Axis_Array::set((void**)array, size, XSD_UNSIGNEDINT);
}
const xsd__unsignedInt** xsd__unsignedInt_Array::get(int& size) const
@@ -1565,7 +1565,7 @@
void xsd__unsignedShort_Array::set(xsd__unsignedShort** array, int size)
{
- Axis_Array::set(array, size, XSD_UNSIGNEDSHORT);
+ Axis_Array::set((void**)array, size, XSD_UNSIGNEDSHORT);
}
const xsd__unsignedShort** xsd__unsignedShort_Array::get(int& size) const
@@ -1589,7 +1589,7 @@
void xsd__unsignedByte_Array::set(xsd__unsignedByte** array, int size)
{
- Axis_Array::set(array, size, XSD_UNSIGNEDBYTE);
+ Axis_Array::set((void**)array, size, XSD_UNSIGNEDBYTE);
}
const xsd__unsignedByte** xsd__unsignedByte_Array::get(int& size) const
@@ -1613,7 +1613,7 @@
void xsd__positiveInteger_Array::set(xsd__positiveInteger** array, int size)
{
- Axis_Array::set(array, size, XSD_POSITIVEINTEGER);
+ Axis_Array::set((void**)array, size, XSD_POSITIVEINTEGER);
}
const xsd__positiveInteger** xsd__positiveInteger_Array::get(int& size) const
@@ -1637,7 +1637,7 @@
void xsd__double_Array::set(xsd__double** array, int size)
{
- Axis_Array::set(array, size, XSD_DOUBLE);
+ Axis_Array::set((void**)array, size, XSD_DOUBLE);
}
const xsd__double** xsd__double_Array::get(int& size) const
@@ -1661,7 +1661,7 @@
void xsd__anyURI_Array::set(xsd__anyURI* array, int size)
{
- Axis_Array::set(array, size, XSD_ANYURI);
+ Axis_Array::set((void**)array, size, XSD_ANYURI);
}
const xsd__anyURI* xsd__anyURI_Array::get(int& size) const
@@ -1685,7 +1685,7 @@
void xsd__QName_Array::set(xsd__QName* array, int size)
{
- Axis_Array::set(array, size, XSD_QNAME);
+ Axis_Array::set((void**)array, size, XSD_QNAME);
}
const xsd__QName* xsd__QName_Array::get(int& size) const
@@ -1709,7 +1709,7 @@
void xsd__NOTATION_Array::set(xsd__NOTATION* array, int size)
{
- Axis_Array::set(array, size, XSD_NOTATION);
+ Axis_Array::set((void**)array, size, XSD_NOTATION);
}
const xsd__NOTATION* xsd__NOTATION_Array::get(int& size) const
Modified: webservices/axis/trunk/c/src/engine/client/Call.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/engine/client/Call.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/engine/client/Call.cpp (original)
+++ webservices/axis/trunk/c/src/engine/client/Call.cpp Tue Nov 8 09:13:51 2005
@@ -403,13 +403,13 @@
m_pIWSSZ->setSoapVersion (version);
}
-Axis_Array Call::getBasicArray (XSDTYPE nType, const AxisChar* pName,
+Axis_Array* Call::getBasicArray (XSDTYPE nType, const AxisChar* pName,
const AxisChar* pNamespace)
{
return m_pIWSDZ->getBasicArray (nType, pName, pNamespace);
}
-Axis_Array Call::getCmplxArray (void* pDZFunct, void* pCreFunct,
+Axis_Array* Call::getCmplxArray (void* pDZFunct, void* pCreFunct,
void* pDelFunct, void* pSizeFunct, const AxisChar* pName,
const AxisChar* pNamespace)
{
Modified: webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp Tue Nov 8 09:13:51 2005
@@ -582,13 +582,13 @@
* <points><x>7</x><y>8</y></points>
*
*/
-Axis_Array
+Axis_Array*
SoapDeSerializer::getCmplxArray (void *pDZFunct, void *pCreFunct,
void *pDelFunct, void *pSizeFunct,
const AxisChar * pName,
const AxisChar * pNamespace)
{
- Axis_Array Array;
+ Axis_Array* Array = new Axis_Array();
int nIndex = 0;
void *pItem;
int itemsize;
@@ -616,23 +616,23 @@
return Array;
}
- Array.m_Size = getArraySize (m_pNode);
+ Array->m_Size = getArraySize (m_pNode);
- if (Array.m_Size == 0)
+ if (Array->m_Size == 0)
{
m_pNode = m_pParser->next (); /* skip end element node too */
return Array;
}
- else if (Array.m_Size > 0)
+ else if (Array->m_Size > 0)
{
- TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array.m_Array, true, Array.m_Size);
- Array.m_Array =
- ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array.m_Array, true, Array.m_Size);
- TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array.m_Array);
+ TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array->m_Array, true, Array->m_Size);
+ Array->m_Array = (void**)
+ ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array->m_Array, true, Array->m_Size);
+ TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array->m_Array);
- if (!Array.m_Array)
+ if (!Array->m_Array)
{
- Array.m_Size = 0;
+ Array->m_Size = 0;
m_nStatus = AXIS_FAIL;
return Array;
@@ -642,20 +642,20 @@
itemsize = ((AXIS_OBJECT_SIZE_FUNCT) pSizeFunct) ();
TRACE_OBJECT_SIZE_FUNCT_EXIT(pSizeFunct, itemsize);
- ptrval = (char *)Array.m_Array;
+ ptrval = (char *)Array->m_Array;
- for (; nIndex < Array.m_Size; nIndex++)
+ for (; nIndex < Array->m_Size; nIndex++)
{
m_pNode = m_pParser->next ();
/* wrapper node without type info Ex: <item> */
if (!m_pNode)
{
- TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array.m_Array, true, Array.m_Size);
- ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array.m_Array, true, Array.m_Size);
+ TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array->m_Array, true, Array->m_Size);
+ ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array->m_Array, true, Array->m_Size);
TRACE_OBJECT_DELETE_FUNCT_EXIT(pDelFunct);
- Array.m_Array = 0;
- Array.m_Size = 0;
+ Array->m_Array = 0;
+ Array->m_Size = 0;
return Array;
}
@@ -680,12 +680,12 @@
if (!m_pNode)
{
- TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array.m_Array, true, Array.m_Size);
- ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array.m_Array, true, Array.m_Size);
+ TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array->m_Array, true, Array->m_Size);
+ ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array->m_Array, true, Array->m_Size);
TRACE_OBJECT_DELETE_FUNCT_EXIT(pDelFunct);
- Array.m_Array = 0;
- Array.m_Size = 0;
+ Array->m_Array = 0;
+ Array->m_Size = 0;
return Array;
}
}
@@ -697,26 +697,26 @@
}
else
{
- TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array.m_Array, true, INITIAL_ARRAY_SIZE);
- Array.m_Array = ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array.m_Array,
+ TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array->m_Array, true, INITIAL_ARRAY_SIZE);
+ Array->m_Array = (void**) ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array->m_Array,
true,
INITIAL_ARRAY_SIZE);
- TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array.m_Array);
- if (!Array.m_Array)
+ TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array->m_Array);
+ if (!Array->m_Array)
{
return Array;
}
- Array.m_Size = INITIAL_ARRAY_SIZE;
+ Array->m_Size = INITIAL_ARRAY_SIZE;
TRACE_OBJECT_SIZE_FUNCT_ENTRY(pSizeFunct);
itemsize = ((AXIS_OBJECT_SIZE_FUNCT) pSizeFunct) ();
TRACE_OBJECT_SIZE_FUNCT_EXIT(pSizeFunct, itemsize);
while (true)
{
- ptrval = (char *)Array.m_Array;
+ ptrval = (char *)Array->m_Array;
- for (; nIndex < Array.m_Size; nIndex++)
+ for (; nIndex < Array->m_Size; nIndex++)
{
if (!m_pNode)
{ /* if there is an unprocessed node that may be
@@ -728,12 +728,12 @@
/* wrapper node without type info Ex: <phonenumbers> */
if (!m_pNode)
{
- TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array.m_Array, true, Array.m_Size);
- ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array.m_Array, true, Array.m_Size);
+ TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array->m_Array, true, Array->m_Size);
+ ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array->m_Array, true, Array->m_Size);
TRACE_OBJECT_DELETE_FUNCT_EXIT(pDelFunct);
- Array.m_Array = 0;
- Array.m_Size = 0;
+ Array->m_Array = 0;
+ Array->m_Size = 0;
return Array;
}
@@ -793,7 +793,7 @@
{
if (nIndex > 0)
{
- Array.m_Size = nIndex;
+ Array->m_Size = nIndex;
/* put the actual deserialized item size
* note we do not make m_pNode = NULL because this node
* doesnot belong to this array
@@ -815,12 +815,12 @@
* </xsd:sequence>
* </xsd:complexType>
*/
- TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array.m_Array, true, Array.m_Size);
- ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array.m_Array, true, Array.m_Size);
+ TRACE_OBJECT_DELETE_FUNCT_ENTRY(pDelFunct, Array->m_Array, true, Array->m_Size);
+ ((AXIS_OBJECT_DELETE_FUNCT) pDelFunct) (Array->m_Array, true, Array->m_Size);
TRACE_OBJECT_DELETE_FUNCT_EXIT(pDelFunct);
- Array.m_Array = 0;
- Array.m_Size = 0;
+ Array->m_Array = 0;
+ Array->m_Size = 0;
return Array;
}
@@ -828,20 +828,20 @@
* So double it
*/
- TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array.m_Array, true, Array.m_Size*2);
- Array.m_Array =
- ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array.m_Array, true,
- Array.m_Size * 2);
- TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array.m_Array);
+ TRACE_OBJECT_CREATE_FUNCT_ENTRY(pCreFunct, Array->m_Array, true, Array->m_Size*2);
+ Array->m_Array = (void**)
+ ((AXIS_OBJECT_CREATE_FUNCT) pCreFunct) (Array->m_Array, true,
+ Array->m_Size * 2);
+ TRACE_OBJECT_CREATE_FUNCT_EXIT(pCreFunct, Array->m_Array);
- if (!Array.m_Array)
+ if (!Array->m_Array)
{
- Array.m_Size = 0;
+ Array->m_Size = 0;
return Array;
}
- Array.m_Size *= 2;
+ Array->m_Size *= 2;
/* Array.m_RealSize = Array.m_Size; */
}
}
@@ -1041,13 +1041,13 @@
}
}
-Axis_Array
+Axis_Array*
SoapDeSerializer::getBasicArray (XSDTYPE nType,
const AxisChar * pName,
const AxisChar * pNamespace)
{
- Axis_Array Array;
- Array.m_Type = nType;
+ Axis_Array* Array = new Axis_Array();
+ Array->m_Type = nType;
if (AXIS_SUCCESS != m_nStatus)
{
@@ -1067,17 +1067,17 @@
return Array;
}
- Array.m_Size = getArraySize (m_pNode);
+ Array->m_Size = getArraySize (m_pNode);
- if (Array.m_Size == 0)
+ if (Array->m_Size == 0)
{
m_pNode = m_pParser->next (); /* skip end element node too */
return Array;
}
- else if (Array.m_Size > 0)
+ else if (Array->m_Size > 0)
{
IAnySimpleType* pSimpleType = AxisUtils::createSimpleTypeObject(nType);
- deserializeEncodedArray(&Array, pSimpleType, pName, pNamespace);
+ deserializeEncodedArray(Array, pSimpleType, pName, pNamespace);
delete pSimpleType;
if ( m_nStatus != AXIS_FAIL)
@@ -1089,7 +1089,7 @@
else
{
IAnySimpleType* pSimpleType = AxisUtils::createSimpleTypeObject(nType);
- deserializeLiteralArray(&Array, pSimpleType, pName, pNamespace);
+ deserializeLiteralArray(Array, pSimpleType, pName, pNamespace);
delete pSimpleType;
if ( m_nStatus != AXIS_FAIL)
Modified: webservices/axis/trunk/c/src/soap/SoapDeSerializer.h
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/soap/SoapDeSerializer.h?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapDeSerializer.h (original)
+++ webservices/axis/trunk/c/src/soap/SoapDeSerializer.h Tue Nov 8 09:13:51 2005
@@ -113,11 +113,11 @@
SoapDeSerializer();
virtual ~SoapDeSerializer();
/* Method used by wrappers to get a deserialized Array of complex types */
- Axis_Array AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
+ Axis_Array* AXISCALL getCmplxArray(void* pDZFunct, void* pCreFunct,
void* pDelFunct, void* pSizeFunct, const AxisChar* pName,
const AxisChar* pNamespace);
/* Method used by wrappers to get a deserialized Array of basic types */
- Axis_Array AXISCALL getBasicArray(XSDTYPE nType, const AxisChar* pName,
+ Axis_Array* AXISCALL getBasicArray(XSDTYPE nType, const AxisChar* pName,
const AxisChar* pNamespace);
/* Method used by wrappers to get a deserialized single
* object of complex type
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java Tue Nov 8 09:13:51 2005
@@ -248,8 +248,8 @@
}
else
{
- if (returntypeissimple && returntype.isNillable()
- && !(CUtils.isPointerType(outparamTypeName)))
+ if (returntypeisarray || (returntypeissimple && returntype.isNillable()
+ && !(CUtils.isPointerType(outparamTypeName))))
{
writer.write(outparamTypeName + " *");
}
@@ -309,7 +309,7 @@
if (returntypeisarray)
{
//for arrays
- writer.write(outparamTypeName + " RetArray;\n");
+ writer.write(outparamTypeName + " * RetArray = new " + outparamTypeName + "();\n");
}
else
{
@@ -614,16 +614,15 @@
if (CUtils.isSimpleType(qname))
{
containedType = CUtils.getclass4qname(qname);
- writer.write("\t\t\t\tAxis_Array RetAxisArray = "
+ writer.write("\t\t\t\tAxis_Array * RetAxisArray = "
+ "m_pCall->getBasicArray("
+ CUtils.getXSDTypeForBasicType(containedType) + ", \""
+ returntype.getParamName() + "\", 0);\n");
- writer.write ("\t\t\t\tRetArray.clone(RetAxisArray);\n\t\t\t}\n");
}
else
{
containedType = qname.getLocalPart();
- writer.write("\t\t\t\tAxis_Array RetAxisArray = "
+ writer.write("\t\t\t\tAxis_Array * RetAxisArray = "
+ "m_pCall->getCmplxArray((void*) Axis_DeSerialize_"
+ containedType);
//damitha
@@ -632,8 +631,10 @@
+ ", (void*) Axis_GetSize_" + containedType + ", \""
+ returntype.getParamName() + "\", Axis_URI_"
+ containedType + ");\n");
- writer.write ("\t\t\t\tRetArray.clone(RetAxisArray);\n\t\t\t}\n");
+
}
+ writer.write ("\t\t\t\tRetArray.clone(*RetAxisArray);\n\t\t\t}\n");
+ writer.write ("\t\t\t\tAxis::AxisDelete( (void *)RetAxisArray, XSD_ARRAY);\n\t\t\t}\n");
writer.write("\t\t}\n");
writer.write("\tm_pCall->unInitialize();\n");
// writer.write("\t\t}\n\t\tm_pCall->unInitialize();\n");
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java Tue Nov 8 09:13:51 2005
@@ -79,9 +79,10 @@
.iterator()
.next();
String outParamTypeName = WrapperUtils.getClassNameFromParamInfoConsideringArrays(returnParam, wscontext);
- if (CUtils.isSimpleType(outParamTypeName)
+ if ((outParamTypeName.lastIndexOf ("_Array") > 0)
+ || (CUtils.isSimpleType(outParamTypeName)
&& returnParam.isNillable()
- && !(CUtils.isPointerType(outParamTypeName)))
+ && !(CUtils.isPointerType(outParamTypeName))))
{
writer.write(
"\tSTORAGE_CLASS_INFO "
@@ -117,9 +118,10 @@
{
writer.write("ISoapAttachment *Value" + j);
}
- else if (CUtils.isSimpleType(paramTypeName)
+ else if ((paramTypeName.lastIndexOf ("_Array") > 0)
+ || (CUtils.isSimpleType(paramTypeName)
&& nparam.isNillable()
- && !(CUtils.isPointerType(paramTypeName)))
+ && !(CUtils.isPointerType(paramTypeName))))
{
writer.write(paramTypeName + " * Value" + j);
}
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java Tue Nov 8 09:13:51 2005
@@ -221,20 +221,19 @@
}
else
{
- if (returntypeisarray
- || (returntypeissimple
- && (!returntype.isNillable ()
- || CUtils.isPointerType(outparamType))))
+ if (returntypeissimple
+ && (!returntype.isNillable() || CUtils
+ .isPointerType(outparamType)))
{
- writer.write (outparamType);
+ writer.write (outparamType);
}
else if (outparamType.lastIndexOf ("*") > 0)
{
- writer.write (outparamType);
+ writer.write (outparamType);
}
else
{ //for AnyType too
- writer.write (outparamType + "*");
+ writer.write (outparamType + "*");
}
}
writer.write (" " + classname + "::" + methodName + "(");
@@ -280,10 +279,9 @@
{
writer.write("ISoapAttachment *Value0");
}
- else if (typeisarray
- || (typeissimple
+ else if (typeissimple
&& (!((ParameterInfo) paramsB.get (0)).isNillable ()
- || CUtils.isPointerType(paraTypeName))))
+ || CUtils.isPointerType(paraTypeName)))
{
writer.write (paraTypeName + " Value0");
}
@@ -338,10 +336,9 @@
{
writer.write(", ISoapAttachment *Value" + i);
}
- else if (typeisarray
- || (typeissimple
+ else if (typeissimple
&& (!((ParameterInfo) paramsB.get (i)).isNillable ()
- || CUtils.isPointerType(paraTypeName))))
+ || CUtils.isPointerType(paraTypeName)))
{
writer.write (", " + paraTypeName + " Value" + i);
}
@@ -381,7 +378,7 @@
if (returntypeisarray)
{
//for arrays
- writer.write (outparamType + " RetArray;\n");
+ writer.write (outparamType + " * RetArray = new " + outparamType + "();\n");
}
else
{
@@ -624,7 +621,7 @@
CUtils.getclass4qname (qname);
writer.
write ("\tm_pCall->addBasicArrayParameter(");
- writer.write ("(Axis_Array*)(&Value" + i + "), " +
+ writer.write ("Value" + i + ", " +
CUtils.
getXSDTypeForBasicType
(containedType) +
@@ -642,8 +639,8 @@
writer.
write
("\tm_pCall->addBasicArrayParameter(");
- writer.write ("(Axis_Array*)(&Value" + i +
- "), " +
+ writer.write ("Value" + i +
+ ", " +
CUtils.
getXSDTypeForBasicType
(containedType) +
@@ -933,14 +930,14 @@
if (CUtils.isSimpleType (qname))
{
containedType = CUtils.getclass4qname (qname);
- writer.write ("\t\t\tAxis_Array RetAxisArray = m_pCall->getBasicArray("
+ writer.write ("\t\t\tAxis_Array * RetAxisArray = m_pCall->getBasicArray("
+ CUtils.getXSDTypeForBasicType (containedType)
+ ", \"" + returntype.getParamName () + "\", 0);\n");
}
else
{
containedType = qname.getLocalPart ();
- writer.write("\t\t\tAxis_Array RetAxisArray = m_pCall->getCmplxArray((void*) Axis_DeSerialize_"
+ writer.write("\t\t\tAxis_Array * RetAxisArray = m_pCall->getCmplxArray((void*) Axis_DeSerialize_"
+ containedType
+ ", (void*) Axis_Create_"
+ containedType
@@ -954,7 +951,8 @@
+ containedType
+ ");\n");
}
- writer.write ("\t\t\tRetArray.clone(RetAxisArray);\n");
+ writer.write ("\t\t\tRetArray->clone(*RetAxisArray);\n");
+ writer.write ("\t\t\tAxis::AxisDelete( (void *)RetAxisArray, XSD_ARRAY);\n");
writer.write ("\t\t}\n");
writer.write ("\t}\n");
writer.write ("\tm_pCall->unInitialize();\n");
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ArraysClient.cpp Tue Nov 8 09:13:51 2005
@@ -56,16 +56,16 @@
int arraySize = 3;
xsd__int_Array inputArray;
- xsd__int** array = new xsd__int*[arraySize]();
+ xsd__int** array = new xsd__int*[arraySize];
for (int count = 0 ; count < arraySize ; count++)
{
array[count] = new xsd__int(count);
}
inputArray.set(array, arraySize);
- xsd__int_Array outputArray = ws.SimpleArray(inputArray);
+ xsd__int_Array * outputArray = ws.SimpleArray(&inputArray);
int outputSize = 0;
- const xsd__int** output = outputArray.get(outputSize);
+ const xsd__int** output = outputArray->get(outputSize);
cout << "Array size = " << outputSize << endl;
if (output != NULL)
{
@@ -132,7 +132,7 @@
bool IsNumber(const char* p)
{
- for (int x=0; x < strlen(p); x++)
+ for (unsigned int x=0; x < strlen(p); x++)
{
if (!isdigit(p[x])) return false;
}
@@ -147,12 +147,13 @@
void testAxis_Array()
{
+ int count = 0;
// Unit test the Axis_Array object for simple types (in this case xsd__int)
// Initialize Array
int unitTestInputSize = 3;
xsd__int_Array unitTest_Axis_Array;
- xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize]();
- for (int count = 0 ; count < unitTestInputSize ; count++ )
+ xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize];
+ for (count = 0 ; count < unitTestInputSize ; count++ )
{
unitTestActualArray[count] = new xsd__int(count);
}
@@ -164,7 +165,7 @@
cout << "Array size = " << size << endl;
if (unitTestOutputArray != NULL)
{
- for (int count = 0 ; count < size ; count++)
+ for (count = 0 ; count < size ; count++)
{
if (unitTestOutputArray[count] != NULL)
{
@@ -192,7 +193,7 @@
cout << "Array size = " << size << endl;
if (unitTestOutputArray != NULL)
{
- for (int count = 0 ; count < size ; count++)
+ for (count = 0 ; count < size ; count++)
{
if (unitTestOutputArray[count] != NULL)
{
@@ -221,7 +222,7 @@
cout << "Array size = " << size << endl;
if (unitTestOutputArray != NULL)
{
- for (int count = 0 ; count < size ; count++)
+ for (count = 0 ; count < size ; count++)
{
if (unitTestOutputArray[count] != NULL)
{
@@ -245,7 +246,7 @@
// Initialize Array
int unitTestInputSize = 3;
xsd__int_Array unitTest_Axis_Array;
- xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize]();
+ xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize];
unitTestActualArray[0] = new xsd__int(12345);
unitTestActualArray[1] = NULL;
unitTestActualArray[2] = new xsd__int(54321);
@@ -278,10 +279,11 @@
void testAxis_ArrayCopying()
{
+ int count = 0;
int unitTestInputSize = 3;
xsd__int_Array unitTest_Axis_Array;
- xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize]();
- for (int count = 0 ; count < unitTestInputSize ; count++ )
+ xsd__int** unitTestActualArray = new xsd__int*[unitTestInputSize];
+ for (count = 0 ; count < unitTestInputSize ; count++ )
{
unitTestActualArray[count] = new xsd__int(count);
}
@@ -293,7 +295,7 @@
}
unitTest_Axis_Array.set(unitTestActualArray, unitTestInputSize);
- for (count = 0 ; count < unitTestInputSize ; count++);
+ for (count = 0 ; count < unitTestInputSize ; count++)
{
delete unitTestActualArray[count];
}
@@ -304,7 +306,7 @@
cout << "Size is " << outputSize << endl;
if (outputArray != NULL)
{
- for (int count = 0 ; count < outputSize ; count++)
+ for (count = 0 ; count < outputSize ; count++)
{
if (outputArray[count] != NULL)
{
@@ -320,4 +322,5 @@
{
cout << "NULL" << endl;
}
-}
\ No newline at end of file
+}
+
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_integerClient.cpp Tue Nov 8 09:13:51 2005
@@ -113,16 +113,16 @@
// Test arrays
int arraySize = 2;
xsd__integer_Array inputArray;
- xsd__integer** array = new xsd__integer*[arraySize]();
+ xsd__integer** array = new xsd__integer*[arraySize];
for (int count = 0 ; count < arraySize ; count++)
{
array[count] = new xsd__integer(123456789);
}
inputArray.set(array, arraySize);
- xsd__integer_Array outputArray = ws->asArray(inputArray);
+ xsd__integer_Array * outputArray = ws->asArray(&inputArray);
int outputSize = 0;
- const xsd__integer** output = outputArray.get(outputSize);
+ const xsd__integer** output = outputArray->get(outputSize);
cout << "array of " << outputSize << " elements" << endl;
if (output != NULL)
{
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp?rev=331849&r1=331848&r2=331849&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/XSD_stringClient.cpp Tue Nov 8 09:13:51 2005
@@ -298,7 +298,7 @@
// Test arrays
int arraySize = 2;
xsd__string_Array inputArray;
- xsd__string* array = new xsd__string[arraySize]();
+ xsd__string* array = new xsd__string[arraySize];
for (int count = 0 ; count < arraySize ; count++)
{
array[count] = new char[25];
@@ -306,9 +306,9 @@
}
inputArray.set(array, arraySize);
- xsd__string_Array outputArray = ws->asArray(inputArray);
+ xsd__string_Array * outputArray = ws->asArray(&inputArray);
int outputSize = 0;
- const xsd__string* output = outputArray.get(outputSize);
+ const xsd__string* output = outputArray->get(outputSize);
cout << "array of " << outputSize << " elements" << endl;
if (output != NULL)
{