我在使用wsimport时遇到问题。在我的必须是wsimport的wsdl中,我有一个名字为"objectFactory"的complexType。在导入用于维护JAXB连接的不同类时,有什么方法可以告诉命令wsimport创建,例如ObjectFactory.java。换句话说,我可以告诉wsimport而不是创建ObjectFactory.java这样的自定义类来创建MyCustomFactory.java吗?

是否有可能以complexType name="objectFactory"映射到名称不同的对象(例如MyObjectFactory.java)的方式自定义映射?

谢谢

最佳答案

JAX-WS(wsimport是其中的一部分)使用JAXB生成XML绑定(bind)文件(并进行实际绑定(bind))。因此,您需要 checkout 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 Schema/WSDL中的内联定制。您也可以将此信息作为external configuration提供。

10-04 19:49