2011-06-29 24 views
6

Las clases generadas desde mi WSDL usando wsimport no tienen los métodos equals() y hashcode(). ¿Cómo puedo personalizar y generar las clases de cliente para obtener los métodos equals() y hashcode()?Cómo generar métodos equals() y hashcode() usando wsimport en jaxws

No estoy seguro sobre el uso de JAXB para lograr esto.

En los talones generados de Axis2.0 se generan estos métodos, pero no estoy seguro de por qué algo tan básico no está disponible en JAXWS.

Respuesta

1

Más información sobre cómo funcionaba. Tengo que agregar classpath a jaxb2-commons y sin el cual wsimport se ejecuta sin quejarse pero no pasa nada. Después de añadir la ruta de clase de la siguiente manera

<path id="jaxb2-commons.classpath"> 
    <fileset dir="${dir.toolchain}/noarch/jaxb2-basics-dist-0.6.0"> 
     <include name="**/*.jar" /> 
    </fileset> 
</path> 

la wsimport continuación trabajó como se esperaba

<wsimport wsdl="@{dir-wsdl}/@{name-wsdl}" 
      taskname="[email protected]{service}" 
      destdir="@{dest-dir}" 
      sourcedestdir="@{source-dest-dir}" 
      package="@{package}" 
      keep="@{keep}" 
      verbose="@{verbose}" 
      xdebug="@{xdebug}" 
      xnocompile="@{xnocompile}" 
      target="2.1"> 
    <binding dir="@{dir-wsdl}" includes="[email protected]{name-wsdl}.xml, [email protected]{name-wsdl}.xml" /> 
    <xjcArg value="-Xequals" /> 
    <xjcArg value="-XhashCode" /> 
    <xjcArg value="-XtoString" /> 
    <!-- Generates per-package jaxb.index file which lists all of the schema-derived classes in this package.--> 
    <xjcArg value="-Xjaxbindex" /> 
    <xjcArg value="-Xsetters" /> 
</wsimport> 
+1

Sería útil si especifica * cómo * ha agregado el classpath a wsimport. – Isaac

1

Si usted está buscando para generar código hash() y equals() utilizando wsimport en Maven, marque esta respuesta sobre cómo generar constructores de datos, sino que también incluye la configuración para la generación de código hash() y equals() también:

How do I make wsimport generate constructors?

Cuestiones relacionadas