java在JAXWS Web服务中实现WSPolicy
我正在用JAX-WS用Java开发一个SOAP Web服务。我正在使用EclipseJuno和WebLogic12c。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 楼答案
首先,您可以在项目中使用Metro、Axis或任何其他第三方库来生成客户机代码。但是,如果不想使用第三方库,可以自己生成所需的wsse头。 下面的INF链接描述了如何生成所需的头,为了调用wsse安全web服务,您应该实现自己的
SOAPHandler
:http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client/