私は非常に新しいApache CXFです。私は外部サーバーから受信したSOAPメッセージから名前空間を削除する問題に取り組んでいます(消費用クライアントとして機能していますサービス)サーバーから受信したSOAPメッセージから名前空間を削除する方法
wsdlから生成されたスタブは、@WebResultで異なる名前空間を持ち、サーバーシステムから受信したSOAPエンベロープは異なります。 クライアントの検証が失敗しないように、ネームスペースをレスポンスメッセージから削除するために汎用ソリューションを適用したいと考えています。
o.a.c.p.PhaseInterceptorChain - インターセプタ用{http://www.abc.xyz/webservices/facade}サービス#{http://www.abc.xyz/webservices/facade} serviceNameのは、例外をスロー今
org.apache.cxf.interceptor.Faultを巻き戻した:予期しない要素{http://www.abc.xyz/webservices/facade} serviceResponseが見つかりました。期待される{http://www.abc.xyz/webservices/facade/ xxxx} serviceResponse。
助けてください。私は、""
でサーバーがハングを{http://www.abc.xyz/webservices/facade/**xxx**}serviceResponse
を交換しようとすると、それはorg.apacheで無限ループに入ったときに、このアプローチでは
(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);
:
ソリューションは、今までに試してみました.cxf.staxutils.transform.InTransformReader.handleDeepDrop()line 266
ようこそスタックオーバーフロー!私たちはQ&Aサイトであり、雇用者向けサービスではありません。これまでに何を試みたのか、それがうまくいかなかった理由を説明してください。参照:[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) –