'>' 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.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.


-- 
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

Reply via email to