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 2006/01/03 16:13:01 UTC
[jira] Reopened: (AXISCPP-753) WSDL2Ws can't handle complexTypes?
[ http://issues.apache.org/jira/browse/AXISCPP-753?page=all ]
John Hawkins reopened AXISCPP-753:
----------------------------------
>From Franz
Dr. Franz Fehringer (Dipl. Math.)
____________________________________
ISO Software Systeme
Eichendorffstrasse 29
90491 Nürnberg
Deutschland
Tel. : +49/(911) - 99594-0
Fax : +49/(911) - 99594-580
mailto:feh@isogmbh.de
http://www.isogmbh.de
....................................................................................................................................................................................
Hello John,
According to my investigations AXISCPP-753 regarding anonymous types is
solved only for special cases.
The working case is
<xs:element name="PruebaDatosCabecera">
<xs:complexType>
...
</xs:complexType>
</xs:element>
But if this construct is contained in another complexType wsdl2ws does it
all wrong.
With
<xsd:complexType
xmlns="http://www.pegs-pegstour.com/API/XMLSchema/1.0.1" name="t_Warning">
...
<xsd:element name="Description">
<xsd:complexType>
...
</xsd:complexType>
</xsd:element>
...
</xsd:complexType>
wsdl2ws tries to generate an artificial type t_Warning_Description.
This fails in at least two ways:
* The infamous gt sign reappears:
#include ">t_Warning_Description.hpp"
class >t_Warning_Description;
>t_Warning_Description* Description;
>t_Warning_Description* getDescription();
void setDescription(>t_Warning_Description* InValue);
* Code generation is completely omitted for this artificial type, i.e.
there is no t_Warning_Description.hpp ore something alike.
The content of the "Description" element is therefore not accessible from
Axis generated source code.
> 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: John Hawkins
> 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