[ 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[
> ,[EMAIL
> PROTECTED]:(>PruebaDatosCabecera>IdenOrgNac,{http://www.w3.org/2001/XMLSchema}string|
> max = 1 min =1|)
> ,[EMAIL
> PROTECTED]:(>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