apache camel을 사용하여 cxf soap 웹 서비스를 처리 할 웹 서비스 클라이언트를 만들었습니다.Apache Camel (Java DSL)로 cxf 웹 서비스 헤더 가로 채기
String serviceUri = "cxf:http://localhost:10000/myservice?serviceClass=" +
MyRequest.class.getCanonicalName();
from(uri).to("mock:xyz");
웹 서비스는 SOAP 호출을 수신하지만, 요구 WSS위한 처리를 필요로하기 때문에 예외를 던진다. 서비스 요청에 lloking 볼 수 있습니다 WS 보안을 필요로
org.apache.cxf.binding.soap.SoapFault: MustUnderstand headers: [{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security] are not understood.
이유는
.<SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" SOAP-ENV:mustUnderstand="1">
헤더 속성을 처리하기위한 인터셉터를 구현해야한다는 것을 알게되었습니다.
내 질문 :
가 어떻게 헤더를 처리하는 인터셉터를 추가 할 수는 낙타 자바 DSL과 속성?
SOAP 결함을 없애기에 충분합니까?
"& cxfEndpointConfigurer ="+ MyConfigurer.class.getCanonicalName을(); 작동하지 않습니다. 오류 메시지가 나타납니다. "같은 유형의 setter 메소드가 없기 때문에 : cxfEndpointConfigurer 속성에 적합한 setter를 찾을 수 없습니다. java.lang.String도 형식 변환도 가능합니다." – ABX
pls. 읽기 : http://camel.465427.n5.nabble.com/cxfEndpointConfigurer-in-an-URI-td5773083.html – Vadim