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