[ 
https://issues.apache.org/jira/browse/AXIS-2688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520572
 ] 

Venkat Reddy commented on AXIS-2688:
------------------------------------

The JavaBeanWriter class is failing to append "extends ..." to the class 
definition even though it seems to have detected that there is a super class 
(StringLength0to64) in this case. I'm sure this is a bug. Could be a complex 
one to fix. Any ideas anyone?

> WSDL2Java generates incorrect proxy when you have extension base in schema
> --------------------------------------------------------------------------
>
>                 Key: AXIS-2688
>                 URL: https://issues.apache.org/jira/browse/AXIS-2688
>             Project: Axis
>          Issue Type: Bug
>          Components: WSDL processing
>    Affects Versions: 1.3, 1.4
>         Environment: Windows XP, JDK 1.4 Axis 1.3 and 1.4
>            Reporter: Anand Kasi
>            Priority: Blocker
>
> When I use wsdl2Java to generate client side proxy, Axis generates the proxy 
> which is invalid and cannot be compiled. This problem happens everytime there 
> is an extension and base in schema. We get the schemas and wsdl from a 
> different company and changing the schemas is not an easy option.  
> I can generate the proxy just fine with JAX WS and also .NET, but this is a 
> problem with Axis 1.3 and 1.4. 
> Find below a simple wsdl file with one service. The generated java file for 
> the "countryName" element is causing the problem. This seems to happen 
> everytime there is an extension defined in the wsdl. 
>                                                  <!-- WSDL begin -->
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="http://webservices.sabre.com/cruise"; 
> xmlns:apachesoap="http://xml.apache.org/xml-soap"; 
> xmlns:impl="http://webservices.sabre.com/cruise"; 
> xmlns:intf="http://webservices.sabre.com/cruise"; 
> xmlns:tns1="urn:sailingavailability:datatypes:communications:cruise:sabre:com"
>  xmlns:tns2="urn:datatypes:communications:cruise:sabre:com" 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; 
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
>       <wsdl:types>
>               <schema elementFormDefault="qualified" 
> targetNamespace="http://webservices.sabre.com/cruise"; 
> xmlns="http://www.w3.org/2001/XMLSchema";>
>                       <element name="SailingAvailability">
>                               <complexType>
>                                       <sequence>
>                                               <element name="in0" 
> type="tns1:SailingAvailabilityRequest"/>
>                                       </sequence>
>                               </complexType>
>                       </element>
>                       <element name="SailingAvailabilityResponse">
>                               <complexType>
>                                       <sequence>
>                                               <element 
> name="SailingAvailabilityReturn" type="tns1:SailingAvailabilityResponse"/>
>                                       </sequence>
>                               </complexType>
>                       </element>
>               </schema>
>               <schema elementFormDefault="qualified" 
> targetNamespace="urn:sailingavailability:datatypes:communications:cruise:sabre:com"
>  xmlns="http://www.w3.org/2001/XMLSchema";>
>                       <complexType name="SailingAvailabilityRequest">
>                               <sequence>
>                                       <element name="reqString" 
> type="xsd:string"/>
>                               </sequence>
>                       </complexType>
>                       <complexType name="SailingAvailabilityResponse">
>                               <sequence>
>                                       <element name="reqString" 
> type="xsd:string"/>
>                                       <element minOccurs="0" 
> name="CountryName" type="tns1:CountryNameType"/>
>                               </sequence>
>                       </complexType>
>                       <complexType name="CountryNameType">
>                               <simpleContent>
>                                       <extension 
> base="tns1:StringLength0to64">
>                                               <attribute name="Code" 
> type="tns1:ISO3166" use="optional">
>                                   </attribute>
>                                       </extension>
>                               </simpleContent>
>                       </complexType>
>                       <simpleType name="StringLength0to64">
>                               <restriction base="xsd:string">
>                                       <minLength value="0"/>
>                                       <maxLength value="64"/>
>                               </restriction>
>                       </simpleType>
>                       <simpleType name="ISO3166">
>                               <restriction base="xsd:string">
>                                       <pattern value="[a-zA-Z]{2}"/>
>                               </restriction>
>                       </simpleType>
>               </schema>
>       </wsdl:types>
>       <wsdl:message name="SailingAvailabilityRequest">
>               <wsdl:part element="impl:SailingAvailability" 
> name="parameters"/>
>       </wsdl:message>
>       <wsdl:message name="SailingAvailabilityResponse">
>               <wsdl:part element="impl:SailingAvailabilityResponse" 
> name="parameters"/>
>       </wsdl:message>
>       <wsdl:portType name="CruiseCommunicationAPI">
>               <wsdl:operation name="SailingAvailability">
>                       <wsdl:input message="impl:SailingAvailabilityRequest" 
> name="SailingAvailabilityRequest"/>
>                       <wsdl:output message="impl:SailingAvailabilityResponse" 
> name="SailingAvailabilityResponse"/>
>               </wsdl:operation>
>       </wsdl:portType>
>       <wsdl:binding name="CruiseAPISoapBinding" 
> type="impl:CruiseCommunicationAPI">
>               <wsdlsoap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>               <wsdl:operation name="SailingAvailability">
>                       <wsdlsoap:operation soapAction=""/>
>                       <wsdl:input name="SailingAvailabilityRequest">
>                               <wsdlsoap:body use="literal"/>
>                       </wsdl:input>
>                       <wsdl:output name="SailingAvailabilityResponse">
>                               <wsdlsoap:body use="literal"/>
>                       </wsdl:output>
>               </wsdl:operation>
>       </wsdl:binding>
>       <wsdl:service name="CruiseCommunicationAPIService">
>               <wsdl:port binding="impl:CruiseAPISoapBinding" name="CruiseAPI">
>                       <wsdlsoap:address 
> location="http://10.19.65.152:3008/SailAvail/services/CruiseAPI"/>
>               </wsdl:port>
>       </wsdl:service>
> </wsdl:definitions>
>                                                   <!-- WSDL End -->

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to