Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Проблема с верблюдом-cxf

Автор вопроса: AlitiОтветов: 2

У меня есть веб-сервис 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>

apache-camel

Ответы

Ответ 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");

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы