gpt4 book ai didi

java - JAXB wsimport 绑定(bind)文件是否可能(实现接口(interface))。告诉它是

转载 作者:太空宇宙 更新时间:2023-11-04 06:32:43 25 4
gpt4 key购买 nike

我有一个 wsdl,我正在使用 wsimport 生成类。

我需要一些类来实现在另一个框架中定义的接口(interface)。

一位 Java 开发人员告诉我,使用 wsimport 选项可以实现这一点。我假设该选项是 -b。

找不到有关如何创建绑定(bind)文件来执行我需要的操作的文档。所有示例都展示了如何更改包名称。

下面是我需要的示例

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 和架构时都手动添加实现 IMessage。

提前非常感谢...

最佳答案

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

关于java - JAXB wsimport 绑定(bind)文件是否可能(实现接口(interface))。告诉它是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com