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 "Jorge Fernández (JIRA)" <ji...@apache.org> on 2007/02/02 17:52:06 UTC

[jira] Updated: (AXIS2-2088) Problems with wsdl2java JiBX code generator

     [ https://issues.apache.org/jira/browse/AXIS2-2088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jorge Fernández updated AXIS2-2088:
-----------------------------------

    Summary: Problems with wsdl2java  JiBX code generator  (was: Problems with wsdl2java  JiBX codegenerator)

> Problems with wsdl2java  JiBX code generator
> --------------------------------------------
>
>                 Key: AXIS2-2088
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2088
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>    Affects Versions: 1.1.1
>         Environment: Windows XP SP2, jre 1.5 update 10, and 1.7.0
>            Reporter: Jorge Fernández
>
> I'm having a problem with wsdl2java code generation. I'm trying JiBX databinding in wrapped mode. I've got my objects defined, my wsdl definition of the service and  I made my binding definition manually (I attached all the files). I also made an ant task, following the steps of the jibx tutorial.
> This is the problem:
> When I use the ant task for compiling the binding definition with the build.xml, everything seems to go alright. After that, I would have to type some code for running the service and that's why I decided to use wsdl2java. When I use wsdl2java for code generation I get this error:
> Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException
> : java.lang.RuntimeException: No mapping defined for element {http://login/types
> }WebLoginElement
>         at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGener
> ationEngine.java:224)
>         at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
>         at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
> Caused by: java.lang.RuntimeException: No mapping defined for element {http://lo
> gin/types}WebLoginElement
>         at org.apache.axis2.jibx.CodeGenerationUtility.mapQName(CodeGenerationUt
> ility.java:928)
>         at org.apache.axis2.jibx.CodeGenerationUtility.mapMessage(CodeGeneration
> Utility.java:914)
>         at org.apache.axis2.jibx.CodeGenerationUtility.engage(CodeGenerationUtil
> ity.java:384)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.axis2.wsdl.codegen.extension.JiBXExtension.engage(JiBXExte
> nsion.java:74)
>         at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGener
> ationEngine.java:177)
>         ... 2 more
>         ... 2 more
> I use the command like this:
> wsdl2java -uri LoginServiceJiBX.wsdl -o build -ss -sd -g -d jibx -ssi -Ebindingfile binding.xml -ns2p http://login=login,http://login/types=login.types
> I tried it in many ways, defining all the mappings between namespaces and packages and without them... I think the problem is with that mapping but I don't know if I'm doing something wrong or it's tool's problem.
> I made it also in unwrapped mode and there was no problem with that.
> And also another question: is there any way for passing the -Ebindingfile in the ant task of wsdl2java? because I didn't find it.
> binding.xml
> <binding>
>   <mapping name="WebLoginElement" class="login.types.WebLoginElement">
>     <value name="localUser_nameElement" field="localUser_nameElement" 
> get-method="getUser_nameElement" set-method="setUser_nameElement"/>
>     <value name="localUser_passwordElement" 
> field="localUser_passwordElement" get-method="getUser_passwordElement" 
> set-method="setUser_passwordElement"/>
>   </mapping>
>   <mapping name="ReturnWebLoginElement" 
> class="login.types.ReturnWebLoginElement">
>     <value name="localWeb_user_nameElement" 
> field="localWeb_user_nameElement" get-method="getWeb_user_nameElement" 
> set-method="setWeb_user_nameElement"/>
>     <value name="localSoap_session_idElement" 
> field="localSoap_session_idElement" get-method="getSoap_session_idElement" 
> set-method="setSoap_session_idElement"/>
>   </mapping>
> </binding>
> build.xml
> <project basedir="." default="generate.all">
>     <property environment="env"/>
>     <property name="AXIS2_HOME" value="${env.AXIS2_HOME}"/>
>     <property name="JIBX_LIB" value="${env.JIBX_LIB}"/>
>     <property name="ECLIPSE_WORKSPACE" 
> value="${env.ECLIPSE_WORKSPACE}"/>
>     <property name="build.dir" value="build"/>
>     
>     <!-- Run JiBX binding compiler -->
>     <target name="binding">
>    	 <!-- JiBX binding compiler task definition -->
> 	 <taskdef name="bind" classname="org.jibx.binding.ant.CompileTask" 
> classpath="${JIBX_LIB}/jibx-bind.jar"/>
> 	 <bind verbose="true" load="true" binding="binding.xml">
>     		<classpathset dir="${build.dir}"/>
> 	 </bind> 
>     </target>
> </project>
> LoginServiceJiBX.wsdl
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="LoginServiceJiBX" targetNamespace="http://login" xmlns:tns="http://login"
>     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://login/types">
>     <types>
> 	<schema targetNamespace="http://login/types" xmlns:tns="http://login/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/"/>
> 		<element name="ReturnWebLoginElement">
> 			<complexType>
> 				<sequence>
> 					<element ref="tns:soap_session_idElement"/>
> 					<element ref="tns:web_user_nameElement"/>
> 				</sequence>
> 			</complexType>
> 		</element>
> 		<element name="WebLoginElement">
> 			<complexType>
> 				<sequence>
> 					<element ref="tns:user_nameElement"/>
> 					<element ref="tns:user_passwordElement"/>
> 				</sequence>
> 			</complexType>
> 		</element>
> 		<element name="user_nameElement" type="string"/>
> 		<element name="user_passwordElement" type="string"/>
> 		<element name="soap_session_idElement" type="string"/>
> 		<element name="web_user_nameElement" type="string"/>
> 	</schema>
>     </types>
>     <message name="LoginEndpoint_webLogin">
>     	<part name="parameters" element="ns2:WebLoginElement"/>
>     </message>
>     <message name="LoginEndpoint_webLoginResponse">
>     	<part name="result" element="ns2:ReturnWebLoginElement"/>
>     </message>
>     <portType name="LoginEndpoint">
> 	    <operation name="webLogin">
> 	    	<input message="tns:LoginEndpoint_webLogin" name="LoginEndpoint_webLogin"/>
> 		<output message="tns:LoginEndpoint_webLoginResponse" name="LoginEndpoint_webLoginResponse"/>
> 	    </operation>
>     </portType>
>     <binding name="LoginEndpointBinding" type="tns:LoginEndpoint">
> 	    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
> 	    <operation name="webLogin">
> 		<soap:operation soapAction="webLogin"/>
> 		    <input name="LoginEndpoint_webLogin">
> 			<soap:body use="literal"/>
> 		    </input>
> 		    <output name="LoginEndpoint_webLoginResponse">
> 			<soap:body use="literal"/>
> 		    </output>
> 	    </operation>
>     </binding>
>     <service name="LoginServiceJiBX">
> 	<port name="LoginEndpointPort" binding="tns:LoginEndpointBinding">
> 		<soap:address location="http://localhost:8080/axis2/services/LoginServiceJiBX"/>
> 	</port>
>     </service>
> </definitions>
> ReturnWebLoginElement.java
> /**
>  * ReturnWebLoginElement.java
>  *
>  * This file was auto-generated from WSDL
>  * by the Apache Axis2 version: #axisVersion# #today#
>  */
> package login.types;
> /**
>  *  ReturnWebLoginElement bean class
>  */
> public class ReturnWebLoginElement{
>     	/**
>     	 * field for Soap_session_idElement
>     	 */
>     	protected String localSoap_session_idElement ;
>                         
>     	/**
>     	 * Auto generated getter method
>     	 * @return String
>     	 */
>         public  String getSoap_session_idElement(){
>         	return localSoap_session_idElement;
>      	}
>         /**
>          * Auto generated setter method
>          * @param param Soap_session_idElement
>          */
>         public void setSoap_session_idElement(String param){
>         	this.localSoap_session_idElement=param;
>         }
>                             
>         /**
>          * field for Web_user_nameElement
>          */
>         protected String localWeb_user_nameElement ;
>                         
>         /**
>          * Auto generated getter method
>          * @return String
>          */
>         public  String getWeb_user_nameElement(){
>         	return localWeb_user_nameElement;
>         }
>         /**
>          * Auto generated setter method
>          * @param param Web_user_nameElement
>          */
>         public void setWeb_user_nameElement(String param){
>         	this.localWeb_user_nameElement=param;
>         }               
> }
> WebLoginElement.java
> package login.types;
> /**
>  *  WebLoginElement bean class
>  */
> public class WebLoginElement{
> 	/**
> 	 * field for User_nameElement
> 	 */
> 	protected String localUser_nameElement ;
> 	/**
> 	 * Auto generated getter method
> 	 * @return String
> 	 */
> 	public  String getUser_nameElement(){
>     	return localUser_nameElement;
>  	}
>     /**
>      * Auto generated setter method
>      * @param param User_nameElement
>      */
> 	public void setUser_nameElement(String param){
> 		this.localUser_nameElement=param;
> 	}
>                         
> 	/**
> 	 * field for User_passwordElement
> 	 */
> 	protected String localUser_passwordElement ;
> 	/**
> 	 * Auto generated getter method
> 	 * @return String
> 	 */
> 	public  String getUser_passwordElement(){
>      	return localUser_passwordElement;
> 	}
> 	/**
> 	 * Auto generated setter method
> 	 * @param param User_passwordElement
> 	 */
> 	public void setUser_passwordElement(String param){
> 		this.localUser_passwordElement=param;
> 	}
>  }

-- 
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org