Я работаю в настоящее время над проектом, где Apache CXF интегрирован с Apache Camel. Apache CXF - это решение, которое мы используем, чтобы выставить WebService, а затем запрограммировать SOAP-запрос и передать его Camel. Это довольно стандартный. По умолчанию используется POJO dataFormat в ApacheCXF, однако необходимо получить некоторую информацию из заголовков SOAP "" и передать ее Camel. Мой вопрос: как это сделать? Когда я использую Interceptor в Apache CXF, я могу получить информацию, которая мне нужна, но я не могу передать ее потом 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");
}
}
... и класс ниже Camel процессор, который в конце концов, называется:
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 отличается, то обмен используется Camel, однако должен быть способ передачи информации между этими двумя интегрированными технологиями?
Я думаю, что вы можете доступ к заголовкам мыла, откуда вы хотите получить информацию, на маршруте. См. Http://camel.apache.org/cxf.html – soilworker
Привет, я хочу сделать то же самое. Не могли бы вы решить эту проблему? – Hector