在不使用注释@HandleChain的情况下实现SOAPHandler

时间:2012-09-18 15:05:58

标签: java xml web-services websphere-7

我在使用Websphere7和RSA 7.5中的注释实现JAX-WS服务时遇到了问题。请查看此链接,解释我遇到的确切问题:

Exception java.util.zip.ZipFile.ensureOpenOrZipException with WAS 7

由于我不能将应用程序模块从2.5更改为2.4,因为我需要webservices.xml文件,因此我需要找到一些方法来实现SOAPHandler而不使用注释。

如果可能,请告诉我。

此致

1 个答案:

答案 0 :(得分:0)

我发现this page(它适用于FileNet,但我认为示例代码可以在其他地方使用),使用以下代码片段:

ProcessEngineServiceProxy pewsServiceProxy = new ProcessEngineServiceProxy();
pewsServiceProxy._getDescriptor().setEndpoint(url);

// install the handler chain
BindingProvider bp = (BindingProvider) pewsServiceProxy._getDescriptor().getProxy();
Binding pewsBinding = bp.getBinding();
List<Handler> handlerChain = new java.util.ArrayList<Handler>();
PEWSClientHeaderHandler wsSecurity = new PEWSClientHeaderHandler();
handlerChain.add(wsSecurity);
pewsBinding.setHandlerChain(handlerChain);

此外,这个答案适用于Metro,但类似的技巧也适用于WebSphere:https://stackoverflow.com/a/7849613/192801此答案还说明了如何以编程方式注册处理程序:https://stackoverflow.com/a/1806477/192801