как настроить транспорт Camel для CXF с помощью Blueprint

Документация по транспорту Camel для CXF со схемой https://camel.apache.org/components/latest/cxf-transport.html говорит, что конфигурация выглядит так:

клиент: <camel:conduit id="*.camel-conduit" camelContextId="camel1" />

сервер: <camel:destination id="*.camel-destination" camelContextId="camel1" />

Но жалобы Blueprint: '*.camel-destination' is not a valid value for 'NCname'. То же самое для '*.camel-conduit' .

Если я пропущу атрибут id, запустится клиент CXF или сервер CXF. Но при вызове он не находит контекст Camel.

Клиент CXF: org.apache.camel.component.cxf.transport.CamelConduit сообщает IllegalAgumentException "CamelContext must be specified on: conduit:"

Сервер CXF: org.apache.camel.component.cxf.transport.CamelDestination говорит IllegalAgumentException "CamelContext must be specified on:"

Работает на Fuse 6.3.

Кто-нибудь знает, как мне настроить транспорт CXF для Camel в Blueprint?


person HansMay    schedule 19.03.2020    source источник


Ответы (1)


Попробуйте использовать атрибут "name" вместо атрибута "id". Кажется, страница документации (https://camel.apache.org/components/latest/cxf-transport.html) указывает, что оба атрибута могут использоваться, я думаю, что "name" является правильным.

person RaduP    schedule 20.03.2020
comment
Это была моя первая идея, так как имя используется для Spring DM. Но: атрибут «имя» не может отображаться в элементе «канал». - person HansMay; 21.03.2020
comment
Кроме того, указание полного "QName.camel-conduit" вместо "*.camel-conduit" также не работает, так как это также недопустимое имя NC. - person HansMay; 21.03.2020