2011-06-29 24 views
6

wsimport kullanarak WSDL'den oluşturulan sınıflar, equals() ve hashcode() yöntemlerine sahip değildir. equals() ve hashcode() yöntemlerini almak için istemci sınıflarını nasıl özelleştirebilir ve oluşturabilirim.jaxws içinde wsimport kullanarak eşittir() ve hashcode() yöntemleri nasıl oluşturulur

Bunu başarmak için JAXB'yi kullandığınızdan emin değilim.

Axis2.0 tarafından oluşturulan dizgelerde, bu yöntemler oluşturulur, ancak JAXWS'de neden böyle temel bir şeyin bulunmadığından emin değilsiniz!

cevap

5

Sen equals() ve hashcode() yöntemlerini oluşturmak için JAXB2 Temelleri Plugin kullanabilirsiniz: nasıl çalıştığını üzerinde

+0

sayesinde, bu kontrol eder wsimport, eğer varsa, bir örnek verebilir misiniz lütfen. – kiri

+0

Çok çalıştı, çok – kiri

+1

502 Bad Gateway .. sadece birkaç gün mü? –

1

fazla bilgi. Sınıf yolunu jaxb2-commons'a eklemem gerekiyor ve bu durumda wsimport şikayet etmeden çalışıyor ancak hiçbir şey olmuyor! Eğer karma kodunun() ve maven içinde wsimport kullanarak equals() oluşturmak için arıyorsanız

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

aşağıdaki gibi sınıf yolunu ekledikten sonra aşağıdaki wsimport beklenen

<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

Belirttiyseniz * nasıl * sınıf yolunu wsimport'a eklediniz. – Isaac

İlgili konular