我在使用 wsimport
时遇到问题。在我的一个必须被 wsimport
ed 的 wsdl 中,我有一个名为 "objectFactory"
的复杂类型。有什么方法可以告诉命令 wsimport
在导入不同类以维护 JAXB 连接时创建,例如 ObjectFactory.java
。换句话说,我可以告诉 wsimport
而不是创建 ObjectFactory.java
一些自定义类,如 MyCustomFactory.java
吗?
是否可以自定义映射,使 complexType name="objectFactory"
映射到具有不同名称(如 MyObjectFactory.java
)的对象?
谢谢
最佳答案
JAX-WS(wsimport
是其中的一部分)使用 JAXB 生成 XML 绑定(bind)文件(并进行实际绑定(bind))。所以你会想看看this documentation on customizing JAXB bindings .它同样适用于您的情况。
在你的情况下你会使用这样的东西:
<xsd:complexType name="objectFactory">
<xsd:annotation>
<xsd:appinfo>
<jxb:class name="MyObjectFactory" />
</xsd:appinfo>
</xsd:annotation>
<!-- ... rest of your specification ... ->
</xsd:complexType>
此示例用于 XML 架构/WSDL 中的内联自定义。您还可以将此信息作为 external configuration 提供。 .
关于java wsimport 重命名/不同的 ObjectFactory.java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177155/