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/04/05 01:26:04 UTC

svn commit: r391443 - /webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp

Author: nadiramra
Date: Tue Apr  4 16:26:03 2006
New Revision: 391443

URL: http://svn.apache.org/viewcvs?rev=391443&view=rev
Log:
C support fixes/enhancements.

Modified:
    webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp

Modified: webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp?rev=391443&r1=391442&r2=391443&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp (original)
+++ webservices/axis/trunk/c/src/cbindings/IWrapperSoapSerializerC.cpp Tue Apr  4 16:26:03 2006
@@ -311,7 +311,12 @@
 
     try
     {
-        return sz->serializeCmplxArray((const Axis_Array*)pArray,pSZFunct,pDelFunct,
+        // 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->serializeCmplxArray((const Axis_Array*)&objArray,pSZFunct,pDelFunct,
                                        pSizeFunct,pName,pNamespace);
     }
     catch ( AxisException& e  )
@@ -337,7 +342,13 @@
 
     try
     {
-        return sz->serializeBasicArray((const Axis_Array*)pArray,pNamespace,(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);
+        
+        // Serialize
+        return sz->serializeBasicArray((const Axis_Array*)&objArray,pNamespace,(XSDTYPE)nType,pName);
     }
     catch ( AxisException& e  )
     {