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

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

person Aliti    schedule 09.06.2011    source источник


Ответы (2)


Что-то вроде этого откроет службу на локальном хосте: 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...

person Ben ODay    schedule 09.06.2011
comment
Я пробую, но у меня ничего не получается. - person Aliti; 11.06.2011
comment
Вы знаете, как написать это в конфигурации XML? - person Mr Jedi; 28.05.2015

Просто попробуйте верблюд в коде; там вы можете выбрать свой метод. Но в режиме DSL я понятия не имею.

как Бодай сказать:

.choice()
    .when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHello"))
        setBody(constant("hello")
    .when(header(CxfConstants.OPERATION_NAME).isEqualTo("sayHi"))
        setBody(constant("hi");
person Community    schedule 30.04.2014