Code Generation re-initializes array variables with the same name.
------------------------------------------------------------------

                 Key: AXISCPP-1039
                 URL: https://issues.apache.org/jira/browse/AXISCPP-1039
             Project: Axis-C++
          Issue Type: Bug
          Components: WSDL processing - RPC
    Affects Versions:  1.6 Beta
         Environment: Windows XP
Visual Studio 8   VC++
java version 1.6.0     JRE 1.6.0-b105
http://www.apache.org/dist/ws/axis-c/axis-c-win32-current-bin.zip
            Reporter: Matthew Metke


When generating (de)serialization code that has multiple arrays the code 
generator will not uniquely name each array within the same scope.

        RemoteVersion_Array * array0 = new RemoteVersion_Array();
        array0 = (RemoteVersion_Array *) pIWSDZ->getCmplxArray(array0, 
(void*)Axis_DeSerialize_RemoteVersion,
                                                                  
(void*)Axis_Create_RemoteVersion,
                                                                  
(void*)Axis_Delete_RemoteVersion,
                                                                  
(void*)Axis_GetSize_RemoteVersion,
                                                                  
"affectsVersions", Axis_URI_RemoteVersion);

        param->affectsVersions = array0;

        xsd__string* p_assignee = (pIWSDZ->getElementAsString("assignee",0));
        param->assignee = *p_assignee;
        delete p_assignee;
        Axis_Array * array0 = pIWSDZ->getBasicArray(XSD_STRING, 
"attachmentNames",0);
        if(param->attachmentNames == NULL)
        {
                param->attachmentNames = new xsd__string_Array();
        }
        param->attachmentNames->clone( *array0);
        Axis::AxisDelete((void*) array0, XSD_ARRAY);

        RemoteComponent_Array * array0 = new RemoteComponent_Array();
        array0 = (RemoteComponent_Array *) pIWSDZ->getCmplxArray(array0, 
(void*)Axis_DeSerialize_RemoteComponent,
                                                                  
(void*)Axis_Create_RemoteComponent,
                                                                  
(void*)Axis_Delete_RemoteComponent,
                                                                  
(void*)Axis_GetSize_RemoteComponent,
                                                                  "components", 
Axis_URI_RemoteComponent);

        param->components = array0;

        xsd__dateTime* p_created = (pIWSDZ->getElementAsDateTime("created",0));
        param->created = *p_created;
        delete p_created;
        RemoteCustomFieldValue_Array * array0 = new 
RemoteCustomFieldValue_Array();
        array0 = (RemoteCustomFieldValue_Array *) pIWSDZ->getCmplxArray(array0, 
(void*)Axis_DeSerialize_RemoteCustomFieldValue,
                                                                  
(void*)Axis_Create_RemoteCustomFieldValue,
                                                                  
(void*)Axis_Delete_RemoteCustomFieldValue,
                                                                  
(void*)Axis_GetSize_RemoteCustomFieldValue,
                                                                  
"customFieldValues", Axis_URI_RemoteCustomFieldValue);

        param->customFieldValues = array0;


A wsdl to demonstrate can be found here:
https://issues.apache.org/jira/rpc/soap/jirasoapservice-v2?wsdl


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to