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 na...@apache.org on 2006/05/03 07:48:58 UTC
svn commit: r399154 - in /webservices/axis/trunk/c/src/cbindings:
IWrapperSoapDeSerializerC.cpp IWrapperSoapSerializerC.cpp client/CallC.cpp
Author: nadiramra
Date: Tue May 2 22:48:57 2006
New Revision: 399154
URL: http://svn.apache.org/viewcvs?rev=399154&view=rev
Log:
C support fixes/enhancements.
Modified:
webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
webservices/axis/trunk/c/src/cbindings/client/CallC.cpp
Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp?rev=399154&r1=399153&r2=399154&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapDeSerializerC.cpp Tue May 2 22:48:57 2006
@@ -112,7 +112,8 @@
{
Axis_Array tmpObjArray;
- tmpObjArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+ if (pArray && pArray->m_Array)
+ tmpObjArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
Axis_Array* pObjArray = dz->getCmplxArray(&tmpObjArray,
pDZFunct, pCreFunct, pDelFunct, pName, pNamespace);
Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp?rev=399154&r1=399153&r2=399154&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp Tue May 2 22:48:57 2006
@@ -207,7 +207,12 @@
try
{
- return sz->addOutputCmplxArrayParam((const Axis_Array*)pArray,pSZFunct,pDelFunct,pName,pNamespace);
+ // Need to convert C-style array to C++-style array before calling serialization method.
+ Axis_Array objArray;
+ if (pArray && pArray->m_Array)
+ objArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+
+ return sz->addOutputCmplxArrayParam((const Axis_Array*)&objArray,pSZFunct,pDelFunct,pName,pNamespace);
}
catch ( AxisException& e )
{
@@ -231,7 +236,12 @@
try
{
- return sz->addOutputBasicArrayParam((const Axis_Array*)pArray,(XSDTYPE)nType,pName);
+ // Need to convert C-style array to C++-style array before calling serialization method.
+ Axis_Array objArray;
+ if (pArray && pArray->m_Array)
+ objArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+
+ return sz->addOutputBasicArrayParam((const Axis_Array*)&objArray,(XSDTYPE)nType,pName);
}
catch ( AxisException& e )
{
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=399154&r1=399153&r2=399154&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/client/CallC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/client/CallC.cpp Tue May 2 22:48:57 2006
@@ -363,7 +363,12 @@
try
{
- c->addCmplxArrayParameter((Axis_Array*)pArray,pSZFunct,pDelFunct,pName,pNamespace);
+ // Need to convert C-style array to C++-style array before calling serialization method.
+ Axis_Array objArray;
+ if (pArray && pArray->m_Array)
+ objArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+
+ c->addCmplxArrayParameter(&objArray,pSZFunct,pDelFunct,pName,pNamespace);
}
catch ( AxisException& e )
{
@@ -390,7 +395,12 @@
try
{
- c->addBasicArrayParameter((Axis_Array*)pArray, (XSDTYPE)nType, pName);
+ // Need to convert C-style array to C++-style array before calling serialization method.
+ Axis_Array objArray;
+ if (pArray && pArray->m_Array)
+ objArray.set((void **)pArray->m_Array, pArray->m_Size, (XSDTYPE)pArray->m_Type);
+
+ c->addBasicArrayParameter(&objArray, (XSDTYPE)nType, pName);
}
catch ( AxisException& e )
{