You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "John Hawkins (JIRA)" <ax...@ws.apache.org> on 2005/12/22 14:18:30 UTC

[jira] Resolved: (AXISCPP-753) WSDL2Ws can't handle complexTypes?

     [ http://issues.apache.org/jira/browse/AXISCPP-753?page=all ]
     
John Hawkins resolved AXISCPP-753:
----------------------------------

    Resolution: Fixed

The issue was that messages that use hidden (anonymous) types fail. So, we had to expose these messages in new classes and then alter the type list accordingly. I've added new unit test HiddenMessageParts to show this issue.

> WSDL2Ws can't handle complexTypes?
> ----------------------------------
>
>          Key: AXISCPP-753
>          URL: http://issues.apache.org/jira/browse/AXISCPP-753
>      Project: Axis-C++
>         Type: Bug
>   Components: WSDL processing - RPC
>     Versions: 1.5 Final
>  Environment: Linux
>     Reporter: jose
>     Assignee: Chinthana Danapala
>      Fix For: 1.6 Alpha

>
> 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_H__INCLUDED_)
> #define __PRUEBASBUGPORTTYPE_CLIENTSTUB_H__INCLUDED_
> #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_H__INCLUDED_)*/
> What ">PruebasDatosCabecera" means?
> Thanks...

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira