从 JAX-WS 生成具有 XSD 模式的 WSDL

Generate WSDL with XSD schema from JAX-WS

我有一个带 JAX-WS 注释的 Web 服务,当我将它部署到 WildFly 8.1.0 Final 中时,我有这样的东西:

<wsdl:types>
  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.viactt.pt" targetNamespace="http://www.viactt.pt" version="1.0">
    <xs:import namespace="http://www.viactt.pt"/>
    <xs:element name="wsAccountArray" type="ns1:wsAccountArray"/>
  </xs:schema>
</wsdl:types>

当我想要的是这样的时候:

<wsdl:types>
  <xsd:schema>
    <xsd:import namespace="http://www.viactt.pt" schemaLocation="ViaCTTIntegrationService_schema1.xsd"/>
  </xsd:schema>
</wsdl:types>

所以,基本上,我希望 WildFly/JAX-WS 将一些类型放在一个单独的 XSD 模式文件中,而不是仅仅在 WSDL 文件中显示它们。

我可以通过一些注释或一些配置文件来做到这一点吗?

我们使用 maven 的 XJC 插件(maven-jaxb2-plugin)从 wsdl 重新生成 JAXB 对象。 Click Here 用于教程。 您也可以 see 。 另一个博客有它的完整教程。 Click Here 来看看。