매우 신참 오전 Apache CXF이고 외부 서버에서받은 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/ 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() 라인 (266)
스택 오버플로에 오신 것을 환영합니다! 우리는 질문 - 응답 사이트이며, 코더 - 투 - 고용 서비스는 아닙니다. 지금까지 시도한 것과 왜 효과가 없는지 설명하십시오. See : [왜 누군가가 나를 도울 수 있습니까? " 실제 질문이 아닙니까?] (http://meta.stackoverflow.com/q/284236) –