我目前正在Apache Apache CXF與Apache Camel集成的項目中工作。 Apache CXF是一個解決方案,我們用它公開一個WebService,然後編組/解組SOAP請求並將它傳遞給Camel。這是非常標準的。默認情況下,使用ApacheCXF中的POJO dataFormat,但是需要從SOAP頭獲取一些信息並將它傳遞給Camel。我的問題是如何做到這一點?當我在Apache CXF中使用Interceptor時,我可以獲得我需要的信息,但是我無法將它傳遞給Camel。下面的類是CXF攔截如何將參數從Apache CXF傳遞到Camel
public class MyInterceptor extends AbstractSoapInterceptor {
//..... some variables
@Override
public void handleMessage(SoapMessage message) throws Fault {
//..some logic and then setting a variable
message.getExchange().put("Foo", "Bar");
}
}
...及以下類是駱駝的處理器,最終被稱爲:
public class MyCamelProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
//how can I read information from CXF Intercptor here?
//how can I read "Foo" value?
}
}
據我所知,所使用的Apache CXF外匯類是不同的,那麼交易所然而,駱駝應該有一種在這兩種集成技術之間傳遞信息的方式?
我想你可以訪問肥皂標題,您想要從路線中獲取信息。見http://camel.apache.org/cxf.html – soilworker
嗨,我想要做同樣的事情。你能解決這個問題嗎? – Hector