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 2008/07/24 06:20:26 UTC

svn commit: r679267 - in /webservices/axis/trunk/c: src/soap/ src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ tests/auto_build/testcases/client/cpp/

Author: nadiramra
Date: Wed Jul 23 21:20:24 2008
New Revision: 679267

URL: http://svn.apache.org/viewvc?rev=679267&view=rev
Log:
AXISCPP-1050 generated bean constructor(), destructor() and reset() methods not consistent

Modified:
    webservices/axis/trunk/c/src/soap/SoapSerializer.cpp
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp
    webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp

Modified: webservices/axis/trunk/c/src/soap/SoapSerializer.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/soap/SoapSerializer.cpp?rev=679267&r1=679266&r2=679267&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapSerializer.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapSerializer.cpp Wed Jul 23 21:20:24 2008
@@ -146,21 +146,28 @@
 {
     int    iSuccess = AXIS_SUCCESS;
 
-    Axis_Array * pLocalArray = pArray->clone();
-
-    ArrayBean * pAb = makeArrayBean( nType, (void**) (pLocalArray->m_Array));
-
-    pAb->SetDimension(pLocalArray->m_Size);
-
-    /*
-     * We're now finished with the local array object, so it can be deleted
-     * However, we need to de-couple from the internal array, which is now owned
-     * by the ArrayBean.
-     */
-    pLocalArray->m_Array = NULL;
-    pLocalArray->m_Size = 0;
-    delete pLocalArray;
-    pLocalArray = NULL;
+    Axis_Array * pLocalArray       = (Axis_Array *)NULL;
+    ArrayBean  * pAb               = (ArrayBean *)NULL;
+    
+    // We need to handle NULL array passed in which means serialize empty array.
+    if (pArray)
+    {
+    	pLocalArray = pArray->clone();
+    	pAb = makeArrayBean( nType, pLocalArray->m_Array );
+    	pAb->SetDimension(pLocalArray->m_Size);
+    	
+        // We're now finished with the local array object, so it can be deleted
+        // However, we need to de-couple from the internal array, which is now owned
+        // by the ArrayBean.
+        pLocalArray->m_Array = NULL;
+        pLocalArray->m_Size = 0;
+        delete pLocalArray;
+    }
+    else
+    {
+    	pAb = makeArrayBean( nType, (void **)NULL );
+    	pAb->SetDimension(0);
+    }
 
     Param* pParam = new Param();
 
@@ -177,7 +184,7 @@
         (m_pSoapEnvelope->m_pSoapBody->m_pSoapMethod)) 
         m_pSoapEnvelope->m_pSoapBody->m_pSoapMethod->addOutputParam( pParam);
 
-    return iSuccess;  // Can it only be successful?
+    return iSuccess;  
 }
 
 int SoapSerializer::
@@ -187,22 +194,29 @@
 {
     int    iSuccess = AXIS_SUCCESS;
 
-    Axis_Array * pLocalArray = pArray->clone();
-
-    ArrayBean* pAb = makeArrayBean( pLocalArray->m_Array, pSZFunct, pDelFunct);
-
-    pAb->SetDimension( pLocalArray->m_Size);
+    Axis_Array * pLocalArray       = (Axis_Array *)NULL;
+    ArrayBean  * pAb               = (ArrayBean *)NULL;
+    
+    // We need to handle NULL array passed in which means serialize empty array.
+    if (pArray)
+    {
+	    pLocalArray = pArray->clone();
+	    pAb = makeArrayBean( pLocalArray->m_Array, pSZFunct, pDelFunct);
+	    pAb->SetDimension( pLocalArray->m_Size);
+	    
+        // We're now finished with the local array object, so it can be deleted
+        // However, we need to de-couple from the internal array, which is now owned
+        // by the ArrayBean.
+	    pLocalArray->m_Array = NULL;
+	    pLocalArray->m_Size = 0;
+	    delete pLocalArray;
+    }
+    else
+    {
+    	pAb = makeArrayBean( (void **)NULL, pSZFunct, pDelFunct);
+    	pAb->SetDimension(0);
+    }
     
-    /*
-     * We're now finished with the local array object, so it can be deleted
-     * However, we need to de-couple from the internal array, which is now owned
-     * by the ArrayBean.
-     */
-    pLocalArray->m_Array = NULL;
-    pLocalArray->m_Size = 0;
-    delete pLocalArray;
-    pLocalArray = NULL;
-
     Param * pParam = new Param();
 
     pAb->SetItemName( pName);
@@ -230,7 +244,7 @@
 
     pParam->setName( pName);
 
-    return iSuccess;  // Can it only be successful?
+    return iSuccess;  
 }
 
 int SoapSerializer::
@@ -253,7 +267,7 @@
 
     pParam->setName( pName);
     
-    return iSuccess;  // Can it only be successful?
+    return iSuccess;  
 }
 
 int SoapSerializer::
@@ -556,7 +570,7 @@
     strUrl += string( pcPort);
     pSoapFault->setFaultactor( strUrl.c_str());
     
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 /*
@@ -635,7 +649,7 @@
     delete m_pSoapEnvelope->m_pSoapHeader;
     m_pSoapEnvelope->m_pSoapHeader= NULL;
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 /*
@@ -647,9 +661,19 @@
                      void * pSZFunct, void * pDelFunct, 
                      const AxisChar * pName, const AxisChar * pNamespace)
 {
-    ArrayBean * pAb = (ArrayBean*) makeArrayBean( pArray->m_Array, pSZFunct, pDelFunct);
-
-    pAb->SetDimension( pArray->m_Size);
+    ArrayBean  * pAb = (ArrayBean *)NULL;
+    
+    // We need to handle NULL array passed in which means serialize empty array.
+    if (pArray)
+    {
+    	pAb = (ArrayBean*) makeArrayBean( pArray->m_Array, pSZFunct, pDelFunct);
+    	pAb->SetDimension( pArray->m_Size);
+    }	
+    else
+    {
+    	pAb = (ArrayBean*) makeArrayBean( (void **)NULL, pSZFunct, pDelFunct);
+    	pAb->SetDimension(0);
+    }
 
     Param * pParam = new Param();
 
@@ -690,7 +714,7 @@
     pAb->RemoveArrayPointer();
     delete pParam;
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 /*
@@ -712,9 +736,19 @@
 serializeBasicArray(const Axis_Array* pArray, 
                     const AxisChar* pNamespace, XSDTYPE nType, const AxisChar* pName)
 {
-    ArrayBean * pAb = (ArrayBean *) makeArrayBean( nType, pArray->m_Array);
-
-    pAb->SetDimension( pArray->m_Size);
+    ArrayBean  * pAb = (ArrayBean *)NULL;
+    
+    // We need to handle NULL array passed in which means serialize empty array.
+    if (pArray)
+    {
+    	pAb = (ArrayBean*) makeArrayBean( nType, pArray->m_Array);
+    	pAb->SetDimension( pArray->m_Size);
+    }	
+    else
+    {
+    	pAb = (ArrayBean*) makeArrayBean( nType, (void **)NULL);
+    	pAb->SetDimension(0);
+    }
 
     Param * pParam = new Param();
 
@@ -752,7 +786,7 @@
     pAb->RemoveArrayPointer();
     delete pParam;
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 #ifdef UNIT_TESTING_ON
@@ -793,7 +827,7 @@
         return AXIS_FAIL;
     }
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 int SoapSerializer::serializeAsElement( const AxisChar * pName,
@@ -845,7 +879,7 @@
     if( pSerialized)
     {
         *this << pSerialized;
-        return AXIS_SUCCESS;  // Can it only be successful?
+        return AXIS_SUCCESS;  
     }
 
     return AXIS_FAIL;  // Can it only be unsuccessful?
@@ -878,7 +912,7 @@
     if( pSerialized)
     {
         *this << pSerialized;
-        return AXIS_SUCCESS;   // Can it only be successful?
+        return AXIS_SUCCESS;   
     }
 
     return AXIS_FAIL;  // Can it only be unsuccessful?
@@ -925,7 +959,7 @@
 
     m_pSoapEnvelope->m_pSoapHeader->addHeaderBlock( (HeaderBlock *) pBlk);
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 int SoapSerializer::setBodyAsHexBinary( xsd__hexBinary body)
@@ -1005,7 +1039,7 @@
     {
         m_pSoapEnvelope->m_pSoapBody->m_pSoapMethod->addAttribute( pAttribute);
 
-        return AXIS_SUCCESS;  // Can it only be successful?
+        return AXIS_SUCCESS;  
     }
 
     return AXIS_FAIL;
@@ -1024,7 +1058,7 @@
     for( int i = 0; i < pAnyObject->_size; i++)
         serialize( pAnyObject->_array[i], 0);
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 int SoapSerializer::
@@ -1040,7 +1074,7 @@
         (m_pSoapEnvelope->m_pSoapBody->m_pSoapMethod))
         m_pSoapEnvelope->m_pSoapBody->m_pSoapMethod->addOutputParam( pParam);
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 IHeaderBlock * SoapSerializer::getHeaderBlock( const AxisChar * pcName, 
@@ -1073,7 +1107,7 @@
 
     *this << pStr;
 
-    return AXIS_SUCCESS;  // Can it only be successful?
+    return AXIS_SUCCESS;  
 }
 
 void SoapSerializer::serializeAttachments( SoapSerializer &pSZ)
@@ -1276,7 +1310,7 @@
         iStatus = AXIS_SUCCESS;
     }
 
-    return iStatus; // Can it only be successful?
+    return iStatus; 
 }
 
 void SoapSerializer::reset()

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=679267&r1=679266&r2=679267&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Wed Jul 23 21:20:24 2008
@@ -350,7 +350,6 @@
         writer.write("\t}\n");
         
         //=============================================================================
-        // Serialize 
         // This is the only real difference for the serializer between rpc/encoded and 
         // doc/literal objects
         //=============================================================================        
@@ -849,6 +848,8 @@
                 else
                 {
                     arrayType = attribs[i].getTypeName();
+                    writer.write(tab2 + "if(param->" + attribs[i].getParamNameAsMember() + " == NULL)\n");
+                    writer.write(tab2 + "\tparam->" + attribs[i].getParamNameAsMember() + " = new " + arrayType + "_Array();\n");
                     writer.write(tab2 + "pIWSDZ->getCmplxArray(param->" + attribs[i].getParamNameAsMember() 
                             + ", (void*)Axis_DeSerialize_" + arrayType
                             + ", (void*)Axis_Create_" + arrayType 
@@ -958,6 +959,8 @@
 
             if (attribs[i].getChoiceElement() || attribs[i].getAllElement())
                 writer.write(tab1 + "}\n");
+            else
+                writer.write("\n");
         } // end for-loop
         
         if (firstIfWritten)
@@ -1083,19 +1086,14 @@
             CUtils.printMethodComment(writer, "Constructor for class " + classname + ".");
             
             writer.write(classname + "::\n" + classname + "()\n{\n");
-            for (int i = 0 ; i < attribs.length ; i++)
-            {
-                if (attribs[i].isArray())
-                {
-                    writer.write("\t" + attribs[i].getParamNameAsMember() + " = new " 
-                            + attribs[i].getTypeName() +"_Array();\n");
-                }
-            }
-            writer.write("\treset();\n");
+            writeReset(true);
             writer.write("}\n");
 
+            // Write copy constructor
             writeCopyConstructor();
-            writeReset();
+            
+            // Write reset method
+            writeReset(false);
         }
         catch (IOException e)
         {
@@ -1114,6 +1112,10 @@
             CUtils.printMethodComment(writer, "Copy constructor for class " + classname + ".");            
             writer.write(classname + "::\n" + classname + "(const " + classname + " & original)\n{\n");
 
+            writeReset(true);
+            writer.write("\n");
+
+            
             // AXISCPP-918 patch provided by Franz Fehringer
             if (extensionBaseAttrib != null && extensionBaseAttrib.getTypeName() != null)
             {
@@ -1137,8 +1139,12 @@
             int anyCounter = 0;
             for (int i = 0 ; i < attribs.length ; i++)
             {
+                if (i != 0)
+                    writer.write("\n");
+
                 if (attribs[i].isArray())
                 {    
+                    writer.write("\tif (original." + attribs[i].getParamNameAsMember() + " != NULL)\n");
                     writer.write("\t" + attribs[i].getParamNameAsMember() + " = new " 
                             + attribs[i].getTypeName() + "_Array(*original." 
                             + attribs[i].getParamNameAsMember() + ");\n");
@@ -1148,8 +1154,6 @@
                     anyCounter++;
                     writer.write("\tif (original." + attribs[i].getParamNameAsMember() + anyCounter + " != NULL)\n");
                     writer.write("\t\t" + attribs[i].getParamNameAsMember() + anyCounter + " = new " + attribs[i].getTypeName() + "(*(original." + attribs[i].getParamNameAsMember() + anyCounter + "));\n");
-                    writer.write("\telse\n");
-                    writer.write("\t\t" + attribs[i].getParamNameAsMember() + anyCounter + " = NULL;\n");
                 }
                 else
                 {
@@ -1161,11 +1165,7 @@
                         isPointerType = CUtils.isPointerType(attribs[i].getTypeName());
     
                     if ((attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()) && (isPointerType || attribs[i].isOptional() || attribs[i].isNillable() || attribs[i].getChoiceElement() || attribs[i].getAllElement()))
-                    {
-                        writer.write("\t" + attribs[i].getParamNameAsMember() + " = NULL;\n");
-                        writer.write("\t__axis_deepcopy_" + attribs[i].getParamNameAsMember() + " = false;\n");
-                        writer.write("\tset" + attribs[i].getMethodName() + "(original." + attribs[i].getParamNameAsMember() + ", original.__axis_deepcopy_" + attribs[i].getParamNameAsMember() + ");\n\n");
-                    }
+                        writer.write("\tset" + attribs[i].getMethodName() + "(original." + attribs[i].getParamNameAsMember() + ", original.__axis_deepcopy_" + attribs[i].getParamNameAsMember() + ");\n");
                     else if (attribs[i].isSimpleType())
                     {
                         writer.write("\t" + attribs[i].getParamNameAsMember() + " = original." 
@@ -1177,8 +1177,6 @@
                         writer.write("\t\t" + attribs[i].getParamNameAsMember() + " = new " 
                                 + attribs[i].getTypeName() + "(*(original." 
                                 + attribs[i].getParamNameAsMember() + "));\n");
-                        writer.write("\telse\n");
-                        writer.write("\t\t" + attribs[i].getParamNameAsMember() + " = NULL;\n");
                     }
                 }
             }
@@ -1195,53 +1193,80 @@
      * 
      * @see
      */
-    protected void writeReset() throws WrapperFault
+    protected void writeReset(boolean forConstructor) throws WrapperFault
     {
         try
         {
-            CUtils.printMethodComment(writer, "Method to initialize objects of class " + classname + ".");
-            
-            writer.write("void " + classname + "::\nreset()\n{\n");
+            if (!forConstructor)
+            {
+                CUtils.printMethodComment(writer, "Method to initialize objects of class " + classname + ".");
             
-            int anyCounter = 0;
+                writer.write("void " + classname + "::\nreset()\n{\n");
+            }
 
-            for (int i = 0; i < attribs.length; i++)
+            int anyCounter = 0;
+            
+            for(int i = 0; i< attribs.length;i++)
             {
-                if (attribs[i].isArray())
-                    writer.write("\t" + attribs[i].getParamNameAsMember() + "->clear();\n");
-                else if (!(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()))
+                String name = attribs[i].getParamNameAsMember();
+                String typename = attribs[i].getTypeName();
+                
+                Type type = attribs[i].getType();
+                boolean isPointerType = false;
+                if (type.isSimpleType())
+                    isPointerType = CUtils.isPointerType(CUtils.getclass4qname(type.getBaseType())); 
+                else
+                    isPointerType = CUtils.isPointerType(typename);
+                
+                if (i != 0)
+                    writer.write("\n");
+                
+                if(attribs[i].isArray())
                 {
-                    if (attribs[i].isAnyType())
+                    if (!forConstructor)
+                        writer.write("\tdelete " + name + ";\n");
+                    writer.write("\t"+ name + " = NULL;\n");
+                }
+                else if (attribs[i].isAnyType())
+                {
+                    anyCounter += 1;
+                    name = name + Integer.toString(anyCounter);
+                    
+                    if (!forConstructor)
                     {
-                        anyCounter += 1;
-                        writer.write("\t" + attribs[i].getParamNameAsMember() + Integer.toString(anyCounter)
-                                + "= NULL;\n");
+                        writer.write("\tif ("+name+") \n\t{\n");
+                        writer.write("\t\tfor (int i=0; i<"+name+"->_size; i++)\n");
+                        writer.write("\t\t\tdelete [] "+name+"->_array[i];\n");
+                        writer.write("\t\tdelete "+name+";\n");
+                        writer.write("\t}\n");
                     }
-                    else
-                        writer.write("\t" + attribs[i].getParamNameAsMember() + "= NULL;\n");
+                    writer.write("\t" + name + "= NULL;\n");
                 }
-                else if (isElementNillable(i) || isElementOptional(i) || attribs[i].getChoiceElement() || attribs[i].getAllElement())
+                else if (!(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()))
                 {
-                    writer.write("\t" + attribs[i].getParamNameAsMember() + " = NULL;\n");
-                    writer.write("\t__axis_deepcopy_" + attribs[i].getParamNameAsMember() + " = false;\n");
+                    if (!forConstructor)
+                        writer.write("\tdelete " + name + ";\n");
+                    writer.write("\t" + name + "= NULL;\n");
                 }
-                else
+                else if (isPointerType || isElementNillable(i) || isElementOptional(i) 
+                        || attribs[i].getChoiceElement() || attribs[i].getAllElement())
                 {
-                    Type type = attribs[i].getType();
-                    boolean isPointerType = false;
-                    if (type.isSimpleType())
-                        isPointerType = CUtils.isPointerType(CUtils.getclass4qname(type.getBaseType())); 
-                    else
-                        isPointerType = CUtils.isPointerType(attribs[i].getTypeName());
-
-                    if(isPointerType)
+                    if (!forConstructor)
                     {
-                        writer.write("\t"+ attribs[i].getParamNameAsMember() + " = NULL;\n");
-                        writer.write("\t__axis_deepcopy_" + attribs[i].getParamNameAsMember() + " = false;\n");
+                        writer.write("\tif(__axis_deepcopy_" + name + ")\n");
+                        writer.write("\t\tdelete ");
+                        if (isPointerType)
+                            writer.write("[] ");
+                        writer.write(name + ";\n");
                     }
+                    
+                    writer.write("\t" + name + " = NULL;\n");
+                    writer.write("\t__axis_deepcopy_" + name + " = false;\n");
                 }
             }
-            writer.write("}\n");
+            
+            if (!forConstructor)
+                writer.write("}\n");
         } 
         catch (IOException e)
         {
@@ -1266,44 +1291,8 @@
             else
                 writer.write(classname + "::\n~" + classname + "()\n{\n");
 
-            int anyCounter = 0;
-            
-            for(int i = 0; i< attribs.length;i++)
-            {
-                String name = attribs[i].getParamNameAsMember();
-                String typename = attribs[i].getTypeName();
-                
-                Type type = attribs[i].getType();
-                boolean isPointerType = false;
-                if (type.isSimpleType())
-                    isPointerType = CUtils.isPointerType(CUtils.getclass4qname(type.getBaseType())); 
-                else
-                    isPointerType = CUtils.isPointerType(typename);
-                
-                if(attribs[i].isArray())
-                    writer.write("\tdelete " + name + ";\n");
-                else if (attribs[i].isAnyType())
-                {
-                    anyCounter += 1;
-                    name = name + Integer.toString(anyCounter);
-                    writer.write("\tif ("+name+") \n\t{\n");
-                    writer.write("\t\tfor (int i=0; i<"+name+"->_size; i++)\n");
-                    writer.write("\t\t\tdelete [] "+name+"->_array[i];\n");
-                    writer.write("\t\tdelete "+name+";\n");
-                    writer.write("\t}\n");
-                }
-                else if (!(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()))
-                    writer.write("\tdelete " + name + ";\n");
-                else if (isPointerType || isElementNillable(i) || isElementOptional(i) || attribs[i].getChoiceElement() || attribs[i].getAllElement())
-                {
-                    // found pointer type
-                    writer.write("\tif(__axis_deepcopy_" + name + ")\n");
-                    writer.write("\t\tdelete ");
-                    if (isPointerType)
-                        writer.write("[] ");
-                    writer.write(name + ";\n");
-                }
-            }
+            writer.write("\treset();\n");
+
             writer.write("}\n");
         }
         catch (IOException e)

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp?rev=679267&r1=679266&r2=679267&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp Wed Jul 23 21:20:24 2008
@@ -108,12 +108,14 @@
             namepair *np1 = new namepair;  // namepair has m_list and name
             namepair *np2 = new namepair;
             namepair_Array npArr;
+            xsd__string_Array xsdStringArray;
 
             // m_list arg to numtilist
             xsd__string * array = new xsd__string[ARRAYSIZE];
             NEWCOPY(array[0], "never odd or even"); // should be returned in errortext element of attrlisterr
             NEWCOPY(array[1], "any data string");   // add data
-            ml.item->set(array,ARRAYSIZE);
+            xsdStringArray.set(array,ARRAYSIZE);
+            ml.setitem(&xsdStringArray);
             delete array[0];
             delete array[1];
             delete [] array;
@@ -122,7 +124,8 @@
             xsd__string * array1 = new xsd__string[ARRAYSIZE];
             NEWCOPY(array1[0], "Apache");
             NEWCOPY(array1[1], "Axis C++");
-            mlnp->item->set(array1,ARRAYSIZE);
+            xsdStringArray.set(array1,ARRAYSIZE);
+            mlnp->setitem(&xsdStringArray);
             delete array1[0];
             delete array1[1];
             delete [] array1;
@@ -131,7 +134,8 @@
             xsd__string * array2 = new xsd__string[ARRAYSIZE];
             NEWCOPY(array2[0], "Test");
             NEWCOPY(array2[1], "Complex");
-            mlnp2->item->set(array2,ARRAYSIZE);
+            xsdStringArray.set(array2,ARRAYSIZE);
+            mlnp2->setitem(&xsdStringArray);
             delete array2[0];
             delete array2[1];
             delete [] array2;

Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp?rev=679267&r1=679266&r2=679267&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp Wed Jul 23 21:20:24 2008
@@ -77,20 +77,23 @@
 
         for (int i=0; i<2; i++)
         {
-            xsd__string_Array *strArray = simpleArrays[i]->stringArray;
-            xsd__int_Array *intArray = simpleArrays[i]->intArray;
+            xsd__string_Array strArray;
+            xsd__int_Array intArray;
             xsd__string strType[ARRAYSIZE];
             xsd__int * intType[ARRAYSIZE];
             NEWCOPY(strType[0], "Apache");
             NEWCOPY(strType[1], "Axis C++");
-            strArray->set(strType,ARRAYSIZE);
+            strArray.set(strType,ARRAYSIZE);
+            simpleArrays[i]->setstringArray(&strArray);
             intType[0] = new int(6);
             intType[1] = new int(7);
-            intArray->set(intType,ARRAYSIZE);
+            intArray.set(intType,ARRAYSIZE);
+            simpleArrays[i]->setintArray(&intArray);
             delete intType[0];
             delete intType[1];
             delete strType[0];
             delete strType[1];
+            
 
         }