Axis-C++
  1. Axis-C++
  2. AXISCPP-1039

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

    Details

      Description

      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

        Activity

        Hide
        nadir amra added a comment -

        This has been fixed for a while in the latest code in svn.

        Show
        nadir amra added a comment - This has been fixed for a while in the latest code in svn.

          People

          • Assignee:
            Unassigned
            Reporter:
            Matthew Metke
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development