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 "Fred Preston (JIRA)" <ax...@ws.apache.org> on 2005/10/27 14:08:55 UTC
[jira] Updated: (AXISCPP-862) '>' symbol in front of type not being removed by WSDL2Ws from type or class defintion and the header filename as an unnecessary '_' prefix character.
[ http://issues.apache.org/jira/browse/AXISCPP-862?page=all ]
Fred Preston updated AXISCPP-862:
---------------------------------
Description:
The created client stub for the following WSDL is incorrect
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://webservices.com/AWSECommerceService/2005-07-26" targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26">
<types>
<xs:schema targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
elementFormDefault="qualified">
<xs:element name="ItemSearch">
<xs:complexType>
<xs:sequence>
<xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
<xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
<xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
<xs:element name="Validate" type="xs:string" minOccurs="0"/>
<xs:element name="Shared" type="tns:ItemSearchRequest" minOccurs="0"/>
<xs:element name="Request" type="tns:ItemSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="ItemSearchRequest">
<xs:sequence>
<xs:element name="Keywords" type="xs:string" minOccurs="0"/>
<xs:element name="SearchIndex" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ItemSearchResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:OperationRequest" minOccurs="0"/>
<xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OperationRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HTTPHeaders" minOccurs="0"/>
<xs:element name="RequestId" type="xs:string" minOccurs="0"/>
<xs:element ref="tns:Arguments" minOccurs="0"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
<xs:element name="RequestProcessingTime" type="xs:float" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Request">
<xs:complexType>
<xs:sequence>
<xs:element name="IsValid" type="xs:string" minOccurs="0"/>
<xs:element name="ItemSearchRequest" type="tns:ItemSearchRequest" minOccurs="0"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Arguments">
<xs:complexType>
<xs:sequence>
<xs:element name="Argument" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HTTPHeaders">
<xs:complexType>
<xs:sequence>
<xs:element name="Header" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Request" minOccurs="0"/>
<xs:element ref="tns:CorrectedQuery" minOccurs="0"/>
<xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element ref="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CorrectedQuery">
<xs:complexType>
<xs:sequence>
<xs:element name="Keywords" type="xs:string" minOccurs="0"/>
<xs:element name="Message" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="ASIN" type="xs:string"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
<xs:element name="DetailPageURL" type="xs:string" minOccurs="0"/>
<xs:element ref="tns:ItemAttributes" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemAttributes">
<xs:complexType>
<xs:sequence>
<xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
<xs:element name="Title" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="ItemSearchRequestMsg">
<part name="body" element="tns:ItemSearch"/>
</message>
<message name="ItemSearchResponseMsg">
<part name="body" element="tns:ItemSearchResponse"/>
</message>
<portType name="AWSECommerceServicePortType">
<operation name="ItemSearch">
<input message="tns:ItemSearchRequestMsg"/>
<output message="tns:ItemSearchResponseMsg"/>
</operation>
</portType>
<binding name="AWSECommerceServiceBinding" type="tns:AWSECommerceServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ItemSearch">
<soap:operation soapAction="http://soap.amazon.com"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="AWSECommerceService">
<port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding">
<soap:address location="http://soap.amazon.com/onca/soap?Service=AWSECommerceService"/>
</port>
</service>
</definitions>
Produces the following header file (_Items_Array.hpp)
-------------------------------------------------------------------------
/*
* Copyright 2003-2004 The Apache Software Foundation.
*/
#if !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)
#define ___ITEMS_ARRAY_ARRAY_H__INCLUDED_
class >Items;
typedef struct _Items_ArrayTag
{
>Items* m_Array;
int m_Size;
} _Items_Array;
#endif /* !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)*/
There are two problems with the file:-
1. The type 'Items' is prefixed with a '>' character.
2. The class name should not be prefixed with a '>' character.
3. The filename should not be prefixed with a '_' character.
was:
The created client stub for the following WSDL is incorrect
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2005-07-26" targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26">
<types>
<xs:schema targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
elementFormDefault="qualified">
<xs:element name="ItemSearch">
<xs:complexType>
<xs:sequence>
<xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
<xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
<xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
<xs:element name="Validate" type="xs:string" minOccurs="0"/>
<xs:element name="Shared" type="tns:ItemSearchRequest" minOccurs="0"/>
<xs:element name="Request" type="tns:ItemSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="ItemSearchRequest">
<xs:sequence>
<xs:element name="Keywords" type="xs:string" minOccurs="0"/>
<xs:element name="SearchIndex" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="ItemSearchResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:OperationRequest" minOccurs="0"/>
<xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OperationRequest">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:HTTPHeaders" minOccurs="0"/>
<xs:element name="RequestId" type="xs:string" minOccurs="0"/>
<xs:element ref="tns:Arguments" minOccurs="0"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
<xs:element name="RequestProcessingTime" type="xs:float" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Request">
<xs:complexType>
<xs:sequence>
<xs:element name="IsValid" type="xs:string" minOccurs="0"/>
<xs:element name="ItemSearchRequest" type="tns:ItemSearchRequest" minOccurs="0"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Arguments">
<xs:complexType>
<xs:sequence>
<xs:element name="Argument" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HTTPHeaders">
<xs:complexType>
<xs:sequence>
<xs:element name="Header" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Value" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:element ref="tns:Request" minOccurs="0"/>
<xs:element ref="tns:CorrectedQuery" minOccurs="0"/>
<xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element ref="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CorrectedQuery">
<xs:complexType>
<xs:sequence>
<xs:element name="Keywords" type="xs:string" minOccurs="0"/>
<xs:element name="Message" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="ASIN" type="xs:string"/>
<xs:element ref="tns:Errors" minOccurs="0"/>
<xs:element name="DetailPageURL" type="xs:string" minOccurs="0"/>
<xs:element ref="tns:ItemAttributes" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemAttributes">
<xs:complexType>
<xs:sequence>
<xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
<xs:element name="Title" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="ItemSearchRequestMsg">
<part name="body" element="tns:ItemSearch"/>
</message>
<message name="ItemSearchResponseMsg">
<part name="body" element="tns:ItemSearchResponse"/>
</message>
<portType name="AWSECommerceServicePortType">
<operation name="ItemSearch">
<input message="tns:ItemSearchRequestMsg"/>
<output message="tns:ItemSearchResponseMsg"/>
</operation>
</portType>
<binding name="AWSECommerceServiceBinding" type="tns:AWSECommerceServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ItemSearch">
<soap:operation soapAction="http://soap.amazon.com"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="AWSECommerceService">
<port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding">
<soap:address location="http://soap.amazon.com/onca/soap?Service=AWSECommerceService"/>
</port>
</service>
</definitions>
Produces the following header file (_Items_Array.hpp)
-------------------------------------------------------------------------
/*
* Copyright 2003-2004 The Apache Software Foundation.
*/
#if !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)
#define ___ITEMS_ARRAY_ARRAY_H__INCLUDED_
class >Items;
typedef struct _Items_ArrayTag
{
>Items* m_Array;
int m_Size;
} _Items_Array;
#endif /* !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)*/
There are two problems with the file:-
1. The type 'Items' is prefixed with a '>' character.
2. The class name should not be prefixed with a '>' character.
3. The filename should not be prefixed with a '_' character.
> '>' symbol in front of type not being removed by WSDL2Ws from type or class defintion and the header filename as an unnecessary '_' prefix character.
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AXISCPP-862
> URL: http://issues.apache.org/jira/browse/AXISCPP-862
> Project: Axis-C++
> Type: Bug
> Components: WSDL processing - Doc
> Environment: n/a
> Reporter: Fred Preston
>
> The created client stub for the following WSDL is incorrect
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:tns="http://webservices.com/AWSECommerceService/2005-07-26" targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26">
> <types>
> <xs:schema targetNamespace="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2005-07-26"
> elementFormDefault="qualified">
> <xs:element name="ItemSearch">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
> <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
> <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
> <xs:element name="Validate" type="xs:string" minOccurs="0"/>
> <xs:element name="Shared" type="tns:ItemSearchRequest" minOccurs="0"/>
> <xs:element name="Request" type="tns:ItemSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:complexType name="ItemSearchRequest">
> <xs:sequence>
> <xs:element name="Keywords" type="xs:string" minOccurs="0"/>
> <xs:element name="SearchIndex" type="xs:string" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
>
> <xs:element name="ItemSearchResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element ref="tns:OperationRequest" minOccurs="0"/>
> <xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="OperationRequest">
> <xs:complexType>
> <xs:sequence>
> <xs:element ref="tns:HTTPHeaders" minOccurs="0"/>
> <xs:element name="RequestId" type="xs:string" minOccurs="0"/>
> <xs:element ref="tns:Arguments" minOccurs="0"/>
> <xs:element ref="tns:Errors" minOccurs="0"/>
> <xs:element name="RequestProcessingTime" type="xs:float" minOccurs="0" maxOccurs="1"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="Request">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="IsValid" type="xs:string" minOccurs="0"/>
> <xs:element name="ItemSearchRequest" type="tns:ItemSearchRequest" minOccurs="0"/>
> <xs:element ref="tns:Errors" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="Arguments">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="Argument" maxOccurs="unbounded">
> <xs:complexType>
> <xs:attribute name="Name" type="xs:string" use="required"/>
> <xs:attribute name="Value" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="HTTPHeaders">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="Header" minOccurs="0" maxOccurs="unbounded">
> <xs:complexType>
> <xs:attribute name="Name" type="xs:string" use="required"/>
> <xs:attribute name="Value" type="xs:string" use="required"/>
> </xs:complexType>
> </xs:element>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="Items">
> <xs:complexType>
> <xs:sequence>
> <xs:element ref="tns:Request" minOccurs="0"/>
> <xs:element ref="tns:CorrectedQuery" minOccurs="0"/>
> <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
> <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
> <xs:element ref="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="CorrectedQuery">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="Keywords" type="xs:string" minOccurs="0"/>
> <xs:element name="Message" type="xs:string" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="Item">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="ASIN" type="xs:string"/>
> <xs:element ref="tns:Errors" minOccurs="0"/>
> <xs:element name="DetailPageURL" type="xs:string" minOccurs="0"/>
> <xs:element ref="tns:ItemAttributes" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
>
> <xs:element name="ItemAttributes">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
> <xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
> <xs:element name="Title" type="xs:string" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </types>
>
> <message name="ItemSearchRequestMsg">
> <part name="body" element="tns:ItemSearch"/>
> </message>
>
> <message name="ItemSearchResponseMsg">
> <part name="body" element="tns:ItemSearchResponse"/>
> </message>
>
> <portType name="AWSECommerceServicePortType">
> <operation name="ItemSearch">
> <input message="tns:ItemSearchRequestMsg"/>
> <output message="tns:ItemSearchResponseMsg"/>
> </operation>
> </portType>
>
> <binding name="AWSECommerceServiceBinding" type="tns:AWSECommerceServicePortType">
> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="ItemSearch">
> <soap:operation soapAction="http://soap.amazon.com"/>
> <input>
> <soap:body use="literal"/>
> </input>
> <output>
> <soap:body use="literal"/>
> </output>
> </operation>
> </binding>
>
> <service name="AWSECommerceService">
> <port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding">
> <soap:address location="http://soap.amazon.com/onca/soap?Service=AWSECommerceService"/>
> </port>
> </service>
> </definitions>
> Produces the following header file (_Items_Array.hpp)
> -------------------------------------------------------------------------
> /*
> * Copyright 2003-2004 The Apache Software Foundation.
> */
> #if !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)
> #define ___ITEMS_ARRAY_ARRAY_H__INCLUDED_
> class >Items;
> typedef struct _Items_ArrayTag
> {
> >Items* m_Array;
> int m_Size;
> } _Items_Array;
> #endif /* !defined(___ITEMS_ARRAY_ARRAY_H__INCLUDED_)*/
> There are two problems with the file:-
> 1. The type 'Items' is prefixed with a '>' character.
> 2. The class name should not be prefixed with a '>' character.
> 3. The filename should not be prefixed with a '_' character.
--
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