Uploaded image for project: 'Axis-C++'
  1. Axis-C++
  2. AXISCPP-1039

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

    XMLWordPrintableJSON

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

      Attachments

        Activity

          People

            Unassigned Unassigned
            metke Matthew Metke
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: