axis-wsdl2java used with 'extension base' is producing wrong number of constructor arguments --------------------------------------------------------------------------------------------
Key: AXIS-2165 URL: http://issues.apache.org/jira/browse/AXIS-2165 Project: Apache Axis Type: Bug Components: WSDL processing Versions: 1.2.1 Environment: Linux, java 1.4.2 Reporter: trebor iksrazal I have produced a simple test case, which works as expected with JWSDP wscompile, but does not work as expected with axis-wsdl2java. With wscompile, the generated class constructor is: public ReturnWeb_Login(java.lang.String errorMessage, int successErrorCode, java.lang.String SOAP_Session_id, java.lang.String web_user_name) { this.errorMessage = errorMessage; this.successErrorCode = successErrorCode; this.SOAP_Session_id = SOAP_Session_id; this.web_user_name = web_user_name; } With axis-wsdl2java, the generated class constructor is: public ReturnWeb_Login( java.lang.String SOAP_Session_id, java.lang.String web_user_name) { this.SOAP_Session_id = SOAP_Session_id; this.web_user_name = web_user_name; } WSDL: <?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> </schema></types> <message name="CallCentreWebEndpoint_web_Login"> <part name="user_name" type="xsd:string"/> <part name="user_password" type="xsd:string"/> </message> <message name="CallCentreWebEndpoint_web_LoginResponse"> <part name="result" type="ns2:ReturnWeb_Login"/> </message> <portType name="CallCentreWebEndpoint"> <operation name="web_Login" parameterOrder="user_name user_password"> <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="rpc"/> <operation name="web_Login"> <soap:operation soapAction=""/> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com/callcentreweb"/></input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded" namespace="http://com/callcentreweb"/></output></operation></binding> <service name="CallCentreWebService"> <port name="CallCentreWebEndpointPort" binding="tns:CallCentreWebEndpointBinding"> <soap:address location="http://127.0.0.1"/></port></service></definitions> axis-wsdl2java definition: <target name="my-wsdl2java" description="Generate compiled complex interfaces and classes from wsdl as a jar for an IDE" depends="clean,prepare"> <echo message="Creating the custom complex objects using IBM tools...." /> <delete dir="resources/axis/com" /> <axis-wsdl2java output="resources/axis" verbose="true" url="resources/axis-jira.wsdl" > <mapping namespace="http://com/hostedtelecom/callcentreweb" package="com.hostedtelecom.callcentreweb.endpoint" /> </axis-wsdl2java> <echo message="Creating the IDE custom complex objects JAR" /> <javac srcdir="resources/axis" destdir="${build}" debug="true"> <include name="**/*.java" /> <classpath refid="classpath-jboss"/> </javac> <copy todir="${build}"> <fileset dir="resources/axis"> <include name="**/*.class"/> </fileset> </copy> <jar jarfile="lib/soap-ide_only.jar" > <fileset dir="${build}" /> </jar> <delete dir="${build}" /> </target> wscompile ant task: <taskdef name="wscompile" classname="com.sun.xml.rpc.tools.ant.Wscompile"> <classpath refid="classpath-jboss"/> </taskdef> <!-- Note that this task only works if you specifically have tools.jar in the classpath. Alternatively, run: wscompile.sh -import -mapping resources/CallCentreWeb_Mapping.xml resources/config-wsdl.xml --> <target name="sun-wscompile" description="Generate compiled complex interfaces and classes from wsdl as a jar for an IDE" depends="clean,prepare"> <echo message="Creating the custom complex objects using SUN tools...." /> <delete dir="resources/sun/com" /> <wscompile fork="true" base="resources/sun" import="true" mapping="resources/CallCentreWeb_Mapping.xml" verbose="true" debug="true" sourceBase="resources/sun" config="resources/config-wsdl.xml"> <classpath refid="classpath-jboss"/> </wscompile> <echo message="Creating the IDE custom complex objects JAR" /> <copy todir="${build}"> <fileset dir="resources"> <include name="**/*.class"/> </fileset> </copy> <jar jarfile="lib/soap-ide_only.jar" > <fileset dir="${build}" /> </jar> <delete dir="${build}" /> </target> wscompile dependency for : config="resources/config-wsdl.xml"> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="resources/axis-jira.wsdl" packageName="com.hostedtelecom.callcentreweb.endpoint"> </wsdl> </configuration> Note : mapping="resources/CallCentreWeb_Mapping.xml" is an wscompile output file. Please advise if I can clarify further. Regards, 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