在JAX-WS Web服务中实现WS-Policy

时间:2013-09-15 23:14:53

标签: java web-services wsdl jax-ws wsimport

我正在使用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项目中?

1 个答案:

答案 0 :(得分:1)

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

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