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

WSDL2Ws doesn't cope with WSDL complex types matching c/c++ types

    XMLWordPrintableJSON

Details

    Description

      WSDL2Ws produces generated stubs that cannot be compiled when WSDL contains types whose names match c/c++ types.
      eg:
      <complexType name="list">
      <sequence>
      <element maxOccurs="unbounded" name="item" nillable="true" type="xsd:string"/>
      </sequence>
      </complexType>

      There are several potential fixes to this, including the rejection of c/c++ type, but I suggest the following would probably be the best fix:
      Prefix all use user types with "::", eg:
      ::myReturnType* myPortType::myOperation(::myInput* Value0)
      {
      ::myReturnType* pReturn = NULL;
      ...
      if(AXIS_SUCCESS == m_pCall->checkMessage("myOperationResponse", "urn:amwebars"))

      { pReturn = (::myReturnType*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_myReturnType, (void*) Axis_Create_myReturnType, (void*) Axis_Delete_myReturnType,"myOperationReturn", 0); }

      ...
      }

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dicka Adrian Dick
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: