Как генерировать методы equals () и hashcode (), используя wsimport в jaxws - PullRequest
6 голосов
/ 29 июня 2011

Сгенерированные классы из моего WSDL с использованием wsimport не имеют методов equals() и hashcode(). Как я могу настроить и сгенерировать клиентские классы для получения методов equals() и hashcode().

Я не уверен в использовании JAXB для достижения этой цели.

В сгенерированных заглушках Axis2.0 эти методы создаются, но не уверены, почему такая базовая вещь недоступна в JAXWS!

Ответы [ 3 ]

6 голосов
/ 29 июня 2011

Вы можете использовать плагин JAXB2 Basics для генерации equals() и hashcode() методов:

1 голос
/ 02 января 2014

Если вы хотите сгенерировать hashcode () и equals () с помощью wsimport в maven, проверьте этот ответ о том, как генерировать конструкторы значений, но также включает конфигурацию для генерации hashcode () и equals ():

Как сделать так, чтобы wsimport генерировал конструкторы?

1 голос
/ 30 июня 2011

Больше информации о том, как это работает.Я должен добавить classpath к jaxb2-commons и без которого wsimport работает без жалоб, но ничего не происходит!После добавления classpath, как показано ниже

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

, приведенный ниже wsimport работал как ожидалось

<wsimport wsdl="@{dir-wsdl}/@{name-wsdl}"
          taskname="wsimport-@{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="bindings-wsdl-@{name-wsdl}.xml, bindings-schema-@{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>
...