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

WSDL2Ws can't handle complexTypes?

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5 Final
    • 1.6 Alpha
    • WSDL processing - RPC
    • None
    • Linux

    Description

      WSDL2Ws can't handle complexTypes.

      With this wsdl:
      =============================
      <?xml version="1.0" encoding="UTF-8"?>
      <definitions
      name="PruebasBug"
      targetNamespace="http://www.abysal.com/soap/PruebasBug.wsdl"
      xmlns="http://schemas.xmlsoap.org/wsdl/"
      xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
      xmlns:tns="http://www.abysal.com/soap/PruebasBug.wsdl"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <types>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="PruebaDatosCabecera">
      <xs:complexType>
      <xs:sequence>
      <xs:element name="IdenOrgNac" type="xsd:string"/>
      <xs:element name="NumSec" type="xsd:string"/>
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      </xs:schema>
      </types>
      <message name="PruebasBugInput">
      <part name="PruebasBugId" element="tns:PruebaDatosCabecera"></part>
      </message>
      <message name="PruebasBugResponse">
      <part name="PruebasBugReturn" type="xsd:int"></part>
      </message>
      <portType name="PruebasBugPortType">
      <operation name="AbySend" parameterOrder="PruebasBugId">
      <input message="tns:PruebasBugInput"/>
      <output message="tns:PruebasBugResponse"/>
      </operation>
      </portType>
      <binding name="PruebasBugBinding" type="tns:PruebasBugPortType">
      <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="AbySend">
      <soap:operation soapAction=""/>
      <input>
      <soap:body
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://www.abysal.com/Abysal-webDTP"
      use="encoded"/>
      </input>
      <output>
      <soap:body
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      namespace="http://www.abysal.com/Abysal-webDTP"
      use="encoded"/>
      </output>
      </operation>
      </binding>
      <service name="PruebasBugService">
      <port binding="tns:PruebasBugBinding" name="PruebasBugPort">
      <soap:address location="http://aries:8080/axis/services/PruebasBug"/>
      </port>
      </service>
      </definitions>
      ===================================

      the result for client is in verbose mode:
      ---------

      {http://www.abysal.com/soap/PruebasBug.wsdl}

      >PruebaDatosCabecera------------
      languageSpecificName = >PruebaDatosCabecera
      isArray =false
      Elements[
      ,java.util.Hashtable$Enumerator@1549f94>PruebaDatosCabecera>IdenOrgNac,

      {http://www.w3.org/2001/XMLSchema}

      string| max = 1 min =1|)

      ,java.util.Hashtable$Enumerator@1549f94>PruebaDatosCabecera>NumSec,

      {http://www.w3.org/2001/XMLSchema}

      string| max = 1 min =1|)

      ]
      Attributes[
      ]
      ------------------------------------------------------

      xsd__intLanguageName ....................
      Output Parameter type Name :xsd__int
      /home/jaa/axisc++/pruebas/pp/PruebasBugPortType.cpp created.....
      /home/jaa/axisc++/pruebas/pp/PruebasBugPortType.hpp created.....
      ignoring anonymous type >PruebaDatosCabecera

      Code generation completed.

      The file .hpp generated is:
      /*

      • This file was auto-generated by the Axis C++ Web Service Generator (WSDL2Ws)
      • This file contains Client Stub Class for remote web service
        */

      #if !defined(_PRUEBASBUGPORTTYPE_CLIENTSTUB_HINCLUDED)
      #define _PRUEBASBUGPORTTYPE_CLIENTSTUB_HINCLUDED

      #include <axis/client/Stub.hpp>
      #include <axis/SoapFaultException.hpp>
      #include <axis/ISoapFault.hpp>
      AXIS_CPP_NAMESPACE_USE

      class PruebasBugPortType :public Stub
      {
      public:
      STORAGE_CLASS_INFO PruebasBugPortType(const char* pchEndpointUri, AXIS_PROTOCOL_TYPE eProtocol=APTHTTP1_1);
      STORAGE_CLASS_INFO PruebasBugPortType();
      public:
      STORAGE_CLASS_INFO virtual ~PruebasBugPortType();
      public:
      STORAGE_CLASS_INFO xsd__int AbySend(>PruebaDatosCabecera* Value0);
      };

      #endif /* !defined(_PRUEBASBUGPORTTYPE_CLIENTSTUB_HINCLUDED)*/

      What ">PruebasDatosCabecera" means?

      Thanks...

      Attachments

        1. PegsTour.wsdl
          37 kB
          Franz Fehringer
        2. PegsTour.xsd
          306 kB
          Franz Fehringer

        Activity

          People

            Unassigned Unassigned
            jmfcya jose
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: