1

我正在使用 JAX-WS 在 Java 中开发 SOAP Web 服务。我正在使用 Eclipse Juno 和 Weblogic 12c。Web 服务正在 EJB 项目中开发。我正在使用自上而下的方法:从我拥有的 WSDL 中,我使用 JDK 的 wsimport 工具(通过命令行)生成所有 Java 类,我将它们导入到项目中,然后我为 SEI 提供了一个实现。

WSDL 有一个带有 wsp:Policy 标记的 WS-Policy 规范,但是从 wsimport 生成的代码对此没有任何信息/注释。因此,我想我必须自己写。

从我所做的搜索来看,我似乎要么使用一些 Weblogic 注释,要么使用一些 CXF/Axis/Metro 功能。这是真的?我不能使用 JAX-WS 中的任何东西吗?我读到 CXF/Axis/Metro 都是 JAX-WS 的实现,但我不知道是否使用其中之一,我想我正在使用 JAX-WS 参考实现,但我不知道如果这是真的。

我还希望实现独立于任何应用程序服务器(在这种情况下为 Weblogic)。如果我必须使用 CXF/Axis/Metro,如何将它们的功能添加到我的 EJB 项目中?

4

1 回答 1

1

首先,您可以在项目中使用 Metro、Axis 或任何其他第三方库来生成您的客户端代码。但是,如果您不想使用第三方库,您可以自己生成所需的 wsse 标头。以下链接描述了如何生成所需的标头以调用 wsse 安全 Web 服务,您应该只实现自己的SOAPHandler

http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client/

于 2016-05-15T05:38:14.440 回答