SpringBoot 使用CXF 集成WebService 请求忽略命名空间
前景回顾
上一章我们介绍了如何用springBoot 来搭建一个WebService服务《SpringBoot 使用CXF 集成WebService》,还不了解的同学可以去看下。
在使用CXF搭建的WebServic服务时,有个很不爽的地方就是请求必须带上命名空间。这个就没axis爽了。
本章我们就看看如何忽略命名空间。
CXF拦截器
要解决命名空间的问题其实很简单,CXF中提供了丰富的拦截器。废话不多说了, 直接上代码。
import org.apache.cxf.interceptor.Fault; import org.apache.cxf.message.Message; import org.apache.cxf.phase.AbstractPhaseInterceptor; import org.apache.cxf.phase.Phase; import org.apache.cxf.service.model.ServiceInfo; /** * 去掉命名空间 * * @author yueli * @date 2019-08-06 19:08 */ public class ServerNameSpaceInterceptor extends AbstractPhaseInterceptor<Message> { public ServerNameSpaceInterceptor() { super(Phase.RECEIVE); } @Override public void handleMessage(Message message) throws Fault { for (ServiceInfo si : message.getExchange().getService().getServiceInfos()) { // 忽略掉命名空间的关键 si.setProperty("soap.force.doclit.bare", true); } } }
是不是很简单, 到这我们就可以完美的解决命名空间的问题了。
有想要完整实例的请看着 >> https://github.com/yuelicn/sp...或者直接clone >> https://github.com/yuelicn/sp...
相关推荐
newfarhui 2020-01-18
zhangxiaocc 2019-12-06
forliberty 2015-05-04
Adolphlwq 2017-08-10
newfarhui 2019-10-23
neweastsun 2013-12-07
Selier 2014-05-28
蜀川居 2017-10-16
zhongjcbill 2015-11-30
xiajlxiajl 2015-09-01
industry0 2014-12-08
cloudspring 2014-11-29
bobobocai 2014-07-17
LunaZhang 2012-06-11
89467606 2015-12-25
iPro 2014-05-28
LunaZhang 2011-09-14
chenhualeguan 2011-11-30
青青木屋 2019-07-01