У меня есть пакет OSGi
, развернутый на Apache Karaf
. У меня есть простой верблюжий маршрут:
<camelContext trace="true" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="jetty:http://0.0.0.0:8282/services?handlers=securityHandler&matchOnUriPrefix=true"/>
<setHeader headerName="CamelHttpQuery">
<constant>wt=xml&rows=1000000&fl=nid,title&fq=sm_vid_Third_parties_with_which_this_organisation_s_content_can_be_shared:%22Indeed%22</constant>
</setHeader>
<to uri="http://172.28.128.158:8983/solr/targetjobs.co.uk.gtimedia.test/select/?"/>
<!-- <split>
<xpath>//int[@name='nid']</xpath>
</split>-->
<convertBodyTo type="java.lang.String" />
</route>
</camelContext>
Я не могу заставить его работать. Когда я вызываю http://localhost:8282/services
, он должен перенаправляться к uri
, указанному ниже setHeader
. Вместо этого я получаю это исключение:
java.lang.IllegalArgumentException: неверный uri:/services. Если вы перенаправляете/соединяете конечные точки http, включите параметр bridgeEndpoint на конечной точке: Endpoint[http://172.28.128.158:8983/solr/targetjobs.co.uk.gtimedia.test/select/]
В нем говорится, что мне нужно включить конечную точку моста, но это не конечная точка, это абсолютный URL-адрес, на который я пытаюсь указать свой маршрут.
Я попытался настроить Spring
, как показано здесь, но это тоже не сработало. Я также пытался изменить это:
<to uri="http://172.28.128.158:8983/solr/targetjobs.co.uk.gtimedia.test/select/?"/>
к этому:
<to uri="jetty//http://172.28.128.158:8983/solr/targetjobs.co.uk.gtimedia.test/select/?"/>
Тоже никаких успехов. Может быть, кто-то знает, как маршрутизировать от jetty
uri
до абсолютного url
?