У меня есть веб-сервис cxf, и я хочу вызвать его с помощью верблюда.
кто-нибудь может мне помочь.
мой источник:
<camel:camelContext xmlns="http://camel.apache.org/schema/spring">
<camel:package>com.aliti.integeration</camel:package>
<route>
<from uri="cxf:bean:helloService?defaultOperationName=sayHello"/>
<from uri="cxf:bean:helloService?defaultOperationName=sayHi"/>
<log message=">>>> ${body}"/>
</route>
</camel:camelContext>
Ответ 1 · рейтинг 2 · Ben ODay
Что-то вроде этого откроет службу на локальном хосте: 8080/test и отправит запросы по вашему маршруту.
from(cxf://http://localhost:8080/test?serviceClass=com.aliti.integeration.HelloService)
.choice()
.when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHello"))
setBody(constant("hello")
.when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHi"))
setBody(constant("hi");
...
public interface HelloService {
String sayHello();
String sayHi();
}
Для получения дополнительной информации посетите страницу camel-cxf, страницу cxf модульные тесты и этот запись в блоге для примера CXFRS...
Ответ 2 · Community
Просто попробуйте верблюд в коде; там вы можете выбрать свой метод. Но в режиме DSL я понятия не имею.
как Бодай сказать:
.choice()
.when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHello"))
setBody(constant("hello")
.when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHi"))
setBody(constant("hi");