java - 将拦截器链添加到 JAX WS 提供程序

标签 java apache web-services jax-ws

我知道我可以使用 @HandlerChain 将处理程序 (JAX WS) 添加到 SEI 我知道我可以像这样将拦截器(Apache CXF)添加到 SEI - http://web-gmazza.rhcloud.com/blog/entry/jaxwshandlers-to-cxfinterceptors

我知道我可以使用@HandlerChain 将处理程序添加到提供者接口(interface)- https://docs.oracle.com/middleware/1213/wls/WSGET/jax-ws-soaphandlers.htm#WSGET3461

问题是: 我可以,如果可以,如何(与 SEI 一样?)将拦截器添加到 Provider 接口(interface)?

最佳答案

好吧,我找到了这个具体问题的答案。你可以像这样添加拦截器

ProviderImpl implementor = new ProviderImpl();
JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
svrFactory.setAddress("http://localhost:9000/providerexample");
svrFactory.setServiceBean(implementor);
svrFactory.getInInterceptors().add(new LoggingInInterceptor());
svrFactory.getOutInterceptors().add(new LoggingOutInterceptor());
svrFactory.create();

但现在下一个问题:拦截器处理 SoapMessage(Apache CXF)。提供程序处理 SOAPMessage(JAXWS)。所以我可以让拦截器记录所有内容,但是当我尝试操作 SoapMessage 时,我遇到了麻烦。仍然不确定原因是这两个类的不兼容(或者框架是否负责相互转换)还是我在那里使用的特定代码。

编辑:拦截器没有问题,只是我犯了一些愚蠢的错误。

关于java - 将拦截器链添加到 JAX WS 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300914/

相关文章:

使用多个 -Xmx 选项启动的 Java 守护进程 (hadoop)

java - Selenium FirefoxDriver 在动画发生时点击了错误的链接

java - 与仅使用 systemd 相比,我从 JSVC 获得什么好处?

java - 远程数据库连接长时间打开

iphone - [iPhone 和网络服务] : REST vs SOAP

javascript - ejabberd - BOSH 模块未启动

apache - 漏洞?没有托管策略无法设置持久 bool 值

php - 使用 sudo [UBUNTU 19.04] 时找不到命令

java - ServletServerCache 和 ClassNotFoundException 之谜

java - 如何执行 HTTP 删除?我得到的只是网址