[
https://issues.apache.org/activemq/browse/CAMEL-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55398#action_55398
]
Claus Ibsen commented on CAMEL-2169:
------------------------------------
You write
in order to get a message from
targetService="person:receiver" (see http:consumer)
a camel user should write
<camel:route
id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
======================
First of all the above is wrong - you HAVE to use from in Camel to specify the
route INPUTs.
<route>
<from
url="jbi:XXX:{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
...
</route>
And you may not be aware a Camel route can have *multiple* inputs
<route>
<from xxx>
<from yyyy>
</route>
It is *all* in the hands on the SMX side how they want their URL syntax to be.
If SMX decided if you could use short hand URLs then maybe you could write
<route>
<from url="jbi:person:receiver">
...
</route>
But JBI is rather complex and has long syntax (maybe because of its WSDL and
XML inspirations + namespace).
And I guess it must be able to decide what the namespace for {{person}} is. And
how should it lookup that?
And have you actually tried any of the other supported URL syntax it offers,
according to the link I posted?
> Support identifiers for Camel routes
> ------------------------------------
>
> Key: CAMEL-2169
> URL: https://issues.apache.org/activemq/browse/CAMEL-2169
> Project: Apache Camel
> Issue Type: Improvement
> Components: camel-core
> Affects Versions: 2.2.0
> Reporter: Sergey Beryozkin
>
> Camel routes embedded in camel contexts have no identifiers thus for a route
> to kick in it has to start (in some cases at least) from a "from:" rule.
> Example from a route working in SMX/JBI :
> <camel:camelContext>
> <camel:route>
> <camel:from
> uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/receiver/endpoint"
> />
> <camel:to
> uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
> />
> </camel:route>
> </camel:camelContext>
> The problem is that it makes a given route definition 'unportable' and
> requires a Camel developer to know some cryptic details like the fully
> qualified name of the internal JBI endpoint.
> If I could do something like
> <camel:camelContext>
> <camel:route
> id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
> <camel:to
> uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
> />
> </camel:route>
> </camel:camelContext>
> then I'd be able to delegate to it easily from some other JBI endpoint, using
> targetService="person:endpoint"
> Likewise, camel routes could delegate to other routes :
> <camel:route
> id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
> <camel:to
> uri="route:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
> />
> </camel:route>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.