You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Gert Vanthienen <ge...@gmail.com> on 2009/07/28 17:29:54 UTC

Re: FTP Poller -> HTTP Consumer: Could not find route for exchange: InOnly

L.S.,

Agreeing with everything Jean-Baptiste told you.  Just wanted to add
one more thing: make sure to remove the trailing / in the ftp
xbean.xml namespace uri.  You'd better have those exactly the same in
all you xbean.xml files

Regards,

Gert Vanthienen
------------------------
Open Source SOA: http://fusesource.com
Blog: http://gertvanthienen.blogspot.com/



2009/7/28 Jean-Baptiste Onofré <jb...@nanthrax.net>:
> Hi Lekkie,
>
> There is something strange in your routing.
>
> Regarding your xbean.xml files, it seems that the ftp poller target a HTTP
> consumer.
> I think that your mistake is here.
>
> The ftp poller fires an action when a new file come into place. It reads the
> file content and send into the NMR as NormalizedMessage.
> But, on the other hand, the HTTP consumer is waiting for HTTP request on the
> defined URI. The HTTP consumer is a binding endpoint listening to "external"
> HTTP call. It doesn't wait for incoming NormalizedMessage.
>
> In your case, you can fire the polled file to a HTTP provider (this is
> correct). This HTTP provider can call an external WebService or another HTTP
> consumer :).
>
> Regards
> JB
>
> lekkie wrote:
>>
>> Hi Guys,
>>
>> I know a could of ppl might have come across this.
>>
>> I need to poll a file (xml formatted) over FTP and send the result file
>> (of
>> course thru NMR) to a consumer http service. I have defined separate SUs
>> for
>> the ftp poller and the http consumer and also an SU for the http provider.
>>
>> I have the following xbeans:
>>
>> xbeal.xml -> ftp poller
>> <beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0"
>> xmlns:app="http://services.app/">    <!-- add the sender endpoint here -->
>>  <!-- add the poller endpoint here -->      <ftp:poller
>> service="app:ftppoller"
>>                     endpoint="appftppoller"
>>                     uri="ftp://app:app@localhost/"
>>                     targetService="app:orderIFServicesHttpConsumer"
>>                     targetEndpoint="orderIFServicesHttpConsumer"
>>                     recursive="true">
>>  </ftp:poller>   </beans>
>> xbean.xml -> http consumer
>> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>>          xmlns:app="http://services.app">
>>        <!-- wsdlResource="classpath:OrderIFServices.wsdl" -->
>>    <http:endpoint service="app:orderIFServicesHttpConsumer"
>>                     endpoint="orderIFServicesHttpConsumer"
>>                     role="consumer"
>>                     soap="true"
>>                     targetService="app:OrderIFServices"
>>
>> locationURI="http://0.0.0.0:9000/services/app/OrderIFServices"
>>                     defaultMep="http://www.w3.org/2004/08/wsdl/in-out"/>
>> </beans>
>>
>> xbean.xml -> http provider
>> <beans xmlns:http="http://servicemix.apache.org/http/1.0"
>>          xmlns:app="http://services.app">
>>        <!-- wsdlResource="classpath:OrderIFServices.wsdl" -->
>>        <http:endpoint service="app:OrderIFServices"
>>                     endpoint="OrderIFServicesHttpSoap11Endpoint"
>>                     role="provider"
>>                     soap="true"
>>
>>  locationURI="http://192.168.0.5/app/services/OrderIFServices"
>>                     defaultMep="http://www.w3.org/2004/08/wsdl/in-out"/>
>> </beans>
>>
>>
>> When deployed, it says Failed to process file:
>> //xxx_16_07_09_00123454487.xml. Reason:
>> javax.jbi.messaging.MessagingException: Could not find route for exchange:
>> InOnly[
>>  id: ID:192.168.0.3-122c175bca6-9:0
>>  status: Active
>>  role: provider
>>  service: {http://services.app/}OrderIFServicesConsumerHttp
>>  in:
>>
>> Note that I can see all the services/endpoints on the JConsole.
>