注明:
本文为学习记录笔记,不喜勿喷。有问题请留言。
场景:CXF发布的webservice的服务端一定会去校验targetnamespace,如果客户端没有携带targetnamespace则会报错,比如说我用的axis2客户端没有携带targetnamespace,那么就无法访问使用CXF发布的webservice服务了。
解决方案:发布CXF的webservice服务端时忽略掉targetnamespace的校验,即添加cxf的拦截器设置字段soap.force.doclit.bare为true
CXF发布webservice服务:
import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.interceptor.Interceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.message.Message;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.xml.ws.Endp