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