[ http://issues.apache.org/jira/browse/AXISCPP-862?page=comments#action_12356079 ]
Fred Preston commented on AXISCPP-862: -------------------------------------- WSDL2Ws is also not handling 'refs' correctly. Will raise a seperate JIRA for this. > '>' symbol in front of type and some output parameters is not being removed > by WSDL2Ws from type, prototypes/signatures 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/CommerceService" > targetNamespace="http://webservices.com/CommerceService"> > <types> > <xs:schema targetNamespace="http://webservices.com/CommerceService" > > xmlns:xs="http://www.w3.org/2001/XMLSchema" > > xmlns:tns="http://webservices.com/CommerceService" > 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="CommerceServicePortType"> > <operation name="ItemSearch"> > <input message="tns:ItemSearchRequestMsg"/> > <output message="tns:ItemSearchResponseMsg"/> > </operation> > </portType> > > <binding name="CommerceServiceBinding" type="tns:CommerceServicePortType"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <operation name="ItemSearch"> > <soap:operation soapAction="http://soap.com"/> > <input> > <soap:body use="literal"/> > </input> > <output> > <soap:body use="literal"/> > </output> > </operation> > </binding> > > <service name="CommerceService"> > <port name="CommerceServicePort" binding="tns:CommerceServiceBinding"> > <soap:address > location="http://soap.com/onca/soap?Service=CommerceService"/> > </port> > </service> > </definitions> > Produces the following header files:- > -------------------------------------------------- > _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_)*/ > CommerceServicePortType.hpp > ========================= > STORAGE_CLASS_INFO void ItemSearch(xsd__string Value0, xsd__string Value1, > xsd__string Value2, xsd__string Value3, ItemSearchRequest* Value4, > ItemSearchRequest_Array Value5, AXIS_OUT_PARAM >OperationRequest* *OutValue0, > AXIS_OUT_PARAM _Items_Array *OutValue1); > CommerceServicePortType.cpp > ========================= > void AWSECommerceServicePortType::ItemSearch(xsd__string Value0, xsd__string > Value1, xsd__string Value2, xsd__string Value3, ItemSearchRequest* Value4, > ItemSearchRequest_Array Value5, AXIS_OUT_PARAM OperationRequest** OutValue0, > AXIS_OUT_PARAM _Items_Array* OutValue1) > { > : > *OutValue0 = (>OperationRequest*)m_pCall->getCmplxObject((void*) > Axis_DeSerialize_>OperationRequest, (void*) Axis_Create_>OperationRequest, > (void*) Axis_Delete_>OperationRequest,"OperationRequest", 0); > There are five or more problems with the generated files:- > 1. The type 'Items' is prefixed with a '>' character. > 2. The class name should not be prefixed with a '>' character (see > _Items_Array.hpp). > 3. The filename should not be prefixed with a '_' character. > 4. Some of the output parameters are prefixed with a '>' character (see > CommerceServicePortType.hpp and CommerceServicePortType.cpp). > 5. Also, in CommerceServicePortType.cpp, the name of the > serialiser/deserialiser also has an embedded '>' 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
