我對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) –