You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by iksrazal <ik...@gmail.com> on 2005/11/23 19:04:06 UTC

axis2 vs axis1.3 "extension base" behavior

Hi all, 

Recently I was involved in getting this jira issue fixed: 

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

The issue was getting WSDL2Java and wscompile from sun to work the same way. 
With 1.3 it now works just fine. 

This is 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;
    }

I'm using axis2 now, and the constructor generated is: 

 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. 

Here's my wsdl. Note: The jira issue was using a similar wsdl but with RPC 
encoded. I just changed the wsdl as minimally as possible to support doc lit. 
I'm using the svn branch of axis2 from Monday November 21st. 

This is an important issue for me and I'd like to help where ever I can. 

iksrazal

<?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_Login_Type">
        <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"/>
</schema></types>
  <message name="CallCentreWebEndpoint_web_Login">
     <part name="parameters" element="ns2:web_Login_Type"/>
  </message>
  <message name="CallCentreWebEndpoint_web_LoginResponse">
    <part name="result" element="ns2:ReturnWeb_Login"/>
  </message>
  <portType name="CallCentreWebEndpoint">
    <operation name="web_Login">
      <input message="tns:CallCentreWebEndpoint_web_Login"/>
      <output message="tns: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>
        <soap:body use="literal"/>
      </input>
      <output> 
        <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>