You need to specify where you want to send your exchange.
This is usually done using;
  exchangeRobustInOnly.setService( qname );
but depending how you want to target the endpoint, you can also use
setInterface() or setEndpoint().

Btw, you don't have to set the status of the exchange to active.

On Tue, Sep 16, 2008 at 8:12 PM, NeenaMathew
<[EMAIL PROTECTED]> wrote:
>
> Hi
>
> I have webservice reciveing some soap request doing some validation and
> enrichment, then need to create a text file from the data and Secure ftp the
> file to another system and send the response back to the client.
>
> Here is my Route
>
> cxfBC - cxfSE- ServiceMix-Bean(does translation to text file and attach the
> file in message)- FTP-ServiceMix-Bean(Generate the Response back to Client
> with proper message codes)
>
> In my translation component I am trying to create a RobustInOnly Exchange
> for my FTP component.
> I am not sure this is the pattern I need to follow. but just trying out...
>
> I use something like this
>
> MessageExchangeFactory factory = channel.createExchangeFactory();
> RobustInOnly exchangeRobustInOnly = factory.createRobustInOnlyExchange();
> exchangeRobustInOnly.setInMessage(outMessage);
> exchangeRobustInOnly.setStatus(ExchangeStatus.ACTIVE);
> channel.send(exchangeRobustInOnly);
>
> When I deploy I am getting the following error.
>
> I ran servicemix in debug mode and found that when the RobustInOnly exchange
> is created the code is trying to copy the endpoint and servicename from
> messageFactoryimpl class. but the values are null in factory object
>
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Could not find route for exchange:
> RobustInOnly[
>  id: ID:172.24.44.33-11c6c115be6-4:6
>  status: Active
>  role: provider
>  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/w...
> ] for service: null and interface: null
>        at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiPostInvokerInterceptor.handleMessage(CxfBcCo
> nsumer.java:560)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:198)
>        at
> org.apache.servicemix.cxfbc.CxfBcConsumer.process(CxfBcConsumer.java:203)
>        at
> org.apache.servicemix.cxfbc.CxfBcConsumer$JbiInvokerInterceptor.handleMessage(CxfBcConsum
> er.java:536)
>        at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>        at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:7
> 7)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestinat
> ion.java:278)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.j
> ava:252)
>        at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>        at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
>        at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:2
> 06)
>        at org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>        at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>        at org.mortbay.jetty.Server.handle(Server.java:324)
>        at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>        at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>        at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>        at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
> Caused by: javax.jbi.messaging.MessagingException: Could not find route for
> exchange: RobustInOnly[
>  id: ID:172.24.44.33-11c6c115be6-4:6
>  status: Active
>  role: provider
>  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message
> xmlns:jbi="http://java.sun.com/xml/ns/jbi/w...
> ] for service: null and interface: null
>        at
> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:297)
>        at
> org.apache.servicemix.jbi.security.SecuredBroker.sendExchangePacket(SecuredBroker.java:88
> )
>        at
> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:830)
>        at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:3
> 95)
>        at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431
> )
>        at
> org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:79
> )
>        at
> org.apache.servicemix.bean.BeanEndpoint$PojoChannel.send(BeanEndpoint.java:578)
>        at
> com.freddiemac.services.treasury.funds.SaxonBean.onMessageExchange(SaxonBean.java:88)
>        at
> org.apache.servicemix.bean.BeanEndpoint.onProviderExchange(BeanEndpoint.java:240)
>        at
> org.apache.servicemix.bean.BeanEndpoint.process(BeanEndpoint.java:216)
>        at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
>        at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4
> 92)
>        at
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>        at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp
> l.java:610)
>        at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>        at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>        at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>        at java.lang.Thread.run(Thread.java:595)
>
> --
> View this message in context: 
> http://www.nabble.com/creating-RobustInOnly-messageExchange-tp19517513p19517513.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to