1

wsimportを使用してクラスを生成しているwsdlがあります。

一部のクラスで、別のフレームワークで定義されているインターフェイスを実装する必要があります。

Java 開発者から、これは wsimport オプションを使用して可能であると言われました。オプションは -b だと思います。

必要なことを行うためのバインディング ファイルの作成方法に関するドキュメントが見つかりませんでした。すべての例は、パッケージ名を変更する方法を示しています。

以下は私が必要とするものの例です

WSDL の例

<xsd:complexType name="GetAandBRequest">
<xsd:sequence>
  <xsd:element name="A" type="xsd:int" />
  <xsd:element name="B" type="xsd:int" />
  </xsd:sequence>
</xsd:complexType>

WSImport が生成する

    public class GetAandBRequest {
    protected int a;
    protected int b;

    public int getA() {
        return a;
    }
    public void setA(int value) {
        this.a = value;
    }
    public int getB() {
        return storeNum;
    }
   public void setB(int value) {
        this.b = value;
    }
    }

wsimport から必要なものは次のとおりです。

public class GetAandBRequest implements IMessage {
    protected int a;
    protected int b;

    public int getA() {
        return a;
    }
    public void setA(int value) {
        this.a = value;
    }
    public int getB() {
        return storeNum;
    }
   public void setB(int value) {
        this.b = value;
    }
}

IMessage の実​​装に注目してください。

これは wsimport で可能ですか? 不可能な場合、どうすればこのようなことを回避できますか。多くのメッセージがあります。wsdl とスキーマを再生成する必要があるたびに、implements IMessage を手動で追加する必要はありません。

事前にどうもありがとう...

4

1 に答える 1

1

xjc オプションは wsimport に渡すことができます

google xjc 継承または jaxb2 継承

<jaxb:bindings version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
jaxb:extensionBindingPrefixes="inheritance">

<jaxb:bindings schemaLocation="customer.xsd" node="/xsd:schema">
    <jaxb:bindings node="xsd:complexType[@name='customer']">
        <inheritance:implements>com.acme.foo.Actor</inheritance:implements>
    </jaxb:bindings>
</jaxb:bindings>

見る

http://confluence.highsource.org/display/J2B/Using+JAXB2+Basics+Plugins+with+CXF

http://confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins

http://www.javaworld.com/article/2074330/core-java/adding-common-methods-to-jaxb-generated-java-classes--jaxb2-basics-plugins-.html

于 2014-09-17T15:26:22.557 に答える