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

WSDL2WS generates wrong Class Name

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.5 Final
    • current (nightly)
    • WSDL processing - Doc
    • None

    Description

      [Error Statement]:
      We have used AxisCPP1.5final version to generate SampleTestSoapWrapper.cpp as the below:
      Function: int SampleTestSoapWrapper::GetOperation(void* pMsg)
      try
      {
      pIWSSZ->addOutputCmplxParam(out0, (void*)Axis_Serialize_ContainerInfo, (void*) Axis_Delete_ContainerInfo, ">GetOperationResponse>Container", Axis_URI_ContainerInfo);
      pIWSSZ->addOutputCmplxParam(out1, (void*)Axis_Serialize_PropertyList, (void*)Axis_Delete_PropertyList, ">GetOperationResponse>PropertyList", Axis_URI_PropertyList);
      }
      The generated code has bug: ">GetOperationResponse>Container" and ">GetOperationResponse>PropertyList".

      In the function we need parameter "Container" other than ">GetOperationResponse>Container".

      [Our solution]:
      We have investigated the source code of AxisCPP/WSDL2Ws tool, and found that if we add the following code at about line 626 in writeMethodInWrapper method that belongs to WrapWriter (wsdl2ws/cpp/iteral) class, the above bug can be resolved.

      //returnParamName=param.getElementName().getLocalPart();
      if(returnParamName.lastIndexOf(">")>1)
      {
      returnParamName=
      returnParamName.substring(returnParamName.lastIndexOf(">")+1,returnParamName.length());
      }

      [More suggestion]:
      But we think it may be better to resolve this bug by change some code inside getElementName()(in ParameterInfo class) method or inside getLocalPart()(in QName class)

      Attachments

        Activity

          People

            Unassigned Unassigned
            mxiong Michael Xiong
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: