It's not about copying anything, but specifying where your exchange will go. Where do you want it to go ?
On Wed, Sep 17, 2008 at 7:17 PM, NeenaMathew <[EMAIL PROTECTED]> wrote: > > Thank you for the quick response. I don't want to get the qname and other > values from the MessageExchange that is passed to my method. I thought the > messageExhange factory copies all these values when it creates the > MessageExhange. > > How can I get the target Qname from the input messageExhange? > > > > gnodet wrote: >> >> 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/ >> >> > > -- > View this message in context: > http://www.nabble.com/creating-RobustInOnly-messageExchange-tp19517513p19537032.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
