WSDL2java used with 'extension base' ignores base class
-------------------------------------------------------

         Key: AXIS2-310
         URL: http://issues.apache.org/jira/browse/AXIS2-310
     Project: Apache Axis 2.0 (Axis2)
        Type: Bug
  Components: wsdl  
    Versions: 0.92    
 Environment: Java 5.0, linux, latest svn 
    Reporter: trebor iksrazal


This issue was present in 1.2 and resolved in 1.3 : 

http://issues.apache.org/jira/browse/AXIS-2165

This is the constructor in 1.3 : 

    public ReturnWeb_Login(
           java.lang.String errorMessage,
           int successErrorCode,
           java.lang.String SOAP_Session_id,
           java.lang.String web_user_name) {
        super(
            errorMessage,
            successErrorCode);
        this.SOAP_Session_id = SOAP_Session_id;
        this.web_user_name = web_user_name;
    }

This is the constructor in 2.0 from the latest svn :

 public ReturnWebLoginImpl(org.apache.xmlbeans.SchemaType sType)
    {
        super(sType);
    }

 With getters and setters for SOAP_Session_id and web_user_name, but nothing 
for  errorMessage and successErrorCode.

This is the wsdl , validated by the SOA editor from cape clear, and with a few 
fixes applied from suggestions from the dev list. 

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="CallCentreWebService" 
targetNamespace="http://com/callcentreweb"; xmlns:tns="http://com/callcentreweb"; 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:ns2="http://com/callcentreweb/types";>
  <types>
    <schema targetNamespace="http://com/callcentreweb/types"; 
xmlns:tns="http://com/callcentreweb/types"; 
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns="http://www.w3.org/2001/XMLSchema";>
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="ReturnWeb_Base">
        <sequence>
          <element name="errorMessage" type="string"/>
          <element name="successErrorCode" 
type="int"/></sequence></complexType>
      <complexType name="ReturnWeb_Login">
        <complexContent>
          <extension base="tns:ReturnWeb_Base">
            <sequence>
              <element name="SOAP_Session_id" type="string"/>
              <element name="web_user_name" 
type="string"/></sequence></extension></complexContent></complexType>
      <element name="web_LoginElement">
        <complexType>
          <sequence>
            <element ref="tns:user_nameElement"/>
            <element ref="tns:user_passwordElement"/>
          </sequence>
        </complexType>
      </element>
      <element name="user_nameElement" type="xsd:string"/>
      <element name="user_passwordElement" type="xsd:string"/>
      <element name="ReturnWeb_LoginElement" type="ns2:ReturnWeb_Login"/>
      <element name="ReturnWeb_BaseElement" type="ns2:ReturnWeb_Base"/>
</schema></types>
  <message name="CallCentreWebEndpoint_web_Login">
     <part name="parameters" element="ns2:web_LoginElement"/>
  </message>
  <message name="CallCentreWebEndpoint_web_LoginResponse">
    <part name="result" element="ns2:ReturnWeb_LoginElement"/>
  </message>
  <portType name="CallCentreWebEndpoint">
    <operation name="web_Login">
      <input message="tns:CallCentreWebEndpoint_web_Login" 
name="CallCentreWebEndpoint_web_Login"/>
      <output message="tns:CallCentreWebEndpoint_web_LoginResponse" 
name="CallCentreWebEndpoint_web_LoginResponse"/>
    </operation>
  </portType>
  <binding name="CallCentreWebEndpointBinding" 
type="tns:CallCentreWebEndpoint">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
    <operation name="web_Login">
      <soap:operation soapAction=""/>
      <input name="CallCentreWebEndpoint_web_Login">
        <soap:body use="literal"/>
      </input>
      <output name="CallCentreWebEndpoint_web_LoginResponse"> 
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="CallCentreWebService">
    <port name="CallCentreWebEndpointPort" 
binding="tns:CallCentreWebEndpointBinding">
      <soap:address location="http://127.0.0.1"/></port></service></definitions>

I'm willing to help where ever I can. 

iksrazal

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