我对Apache CXF非常新,我坚持从外部服务器收到的SOAP消息中删除命名空间的问题(我充当客户端用于消费该服务)如何删除从服务器收到的soap消息中的命名空间
从wsdl生成的存根在@WebResult中具有不同的名称空间,而从服务器系统接收到的SOAP信封不同。 我想申请一个通用的解决方案,以便从响应消息中删除名称空间,以便客户端验证不会失败。
o.a.c.p.PhaseInterceptorChain - 拦截器{} http://www.abc.xyz/webservices/facade服务#{} http://www.abc.xyz/webservices/facade已服务名抛出的异常,现在平仓
org.apache.cxf.interceptor.Fault:意外的元素{} http://www.abc.xyz/webservices/facade发现serviceResponse。预计{http:// www.abc.xyz/webservices/facade/ xxx} serviceResponse。
请帮忙。
解决方案试图至今:
(CXF转换功能)
Map<String, String> inTransformMap = Collections.singletonMap("{http:// www.abc.xyz/webservices/facade/**xxx**}serviceResponse", "");
org.apache.cxf.interceptor.transform.TransformInInterceptor transformInInterceptor = new org.apache.cxf.interceptor.transform.TransformInInterceptor();
transformInInterceptor.setInTransformElements(inTransformMap);
proxy.getInInterceptors().add(transformInInterceptor);
在这种方法中,当我尝试用""
,服务器挂起,以取代{http://www.abc.xyz/webservices/facade/**xxx**}serviceResponse
并进入在org.apache无限循环.cxf.staxutils.transform.InTransformReader.handleDeepDrop()line 266
欢迎来到Stack Overflow!我们是一个问答网站,而不是一个打码人员的服务。请解释你到目前为止尝试过的以及为什么它没有奏效。请参阅:[为什么“有人可以帮助我?”不是一个实际的问题?](http://meta.stackoverflow.com/q/284236) –