[ 
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.

Reply via email to