Scott, Your exception is probably caused by trying to set the out message on an InOnly MessageExchange. Did you perhaps specify an in-only MEP on the HTTP BC endpoint?
Anyway, to 'forward' the message to the next SE, you do not have to set the Out message on the incoming MessageExchange, you have to create a whole new MessageExchange for the interaction with the next SE. The message you want to forward should go in the In message of the MessageExchange. You can use the MessageUtil class to easily transfer messages between MessageExchanges. Have a look at the source code for e.g. StaticRoutingSlip for an example on how to do this. Regards, Gert Scott Johnson-16 wrote: > > I have returned to trying to get my prototype working with ServiceMix > but something just is not clicking unfortunately. > > Basically my prototype consists of a few SEs and then the SUs and SA > to configure the prototype. > > The 'main' SE receives requests just fine from an HTTP endpoint. But > when I try to forward the request to another SE I get the following > exception cause: > > Caused by: javax.jbi.messaging.MessagingException: Out not supported > at > org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage > (MessageExchangeImpl.java:317) > at > main.java.com.mediaspansoftware.transporter.servicemix.TaskEngineEndpoin > t.process(TaskEngineEndpoint.java:194) > at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess > (AsyncBaseLifeCycle.java:489) > at > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange > (AsyncBaseLifeCycle.java:441) > at > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange > (BaseLifeCycle.java:46) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound > (DeliveryChannelImpl.java:593) > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting > (AbstractFlow.java:174) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting > (SedaFlow.java:176) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run > (SedaQueue.java:134) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor > $Worker.runTask(ThreadPoolExecutor.java:665) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor > $Worker.run(ThreadPoolExecutor.java:690) > at java.lang.Thread.run(Thread.java:613) > > > This was the initial xbean.xml for the SU I deployed against the main > SE (TaskEngine): > > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns:taskEngineSE="http:// > com.mediaspansoftware.transporter/1.0" > xmlns:tp="http://www.mediaspansoftware.com/transporter"> > > <taskEngineSE:endpoint > service="tp:TaskEngine" > endpoint="endpoint"/> > > </beans> > > It seems the SE acts like it can only process 'in' messages but I > need to be able to forward to another SE. In looking at the original > xbean.xml file for the SU, there is no specification of a role or > defaultMEP. So I tried to add this information such that my xbean.xml > looks like this: > > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns:taskEngineSE="http://com.mediaspansoftware/1.0" > xmlns:tp="http://www.mediaspansoftware.com/transporter"> > > <taskEngineSE:endpoint > service="tp:TaskEngine" > role="provider" > endpoint="endpoint" > defaultMep="http://www.w3.org/2004/08/wsdl/in-out" /> > > </beans> > > Unfortunately, now I get a new exception when attempting to re-deploy > the SA: > > Caused by: org.springframework.beans.NotWritablePropertyException: > Invalid property 'defaultMep' of bean class > [main.java.com.mediaspansoftware.transporter.servicemix.TaskEngineEndpoi > nt]: Bean property 'defaultMep' is not writable or has an invalid > setter method. Does the parameter type of the setter match the return > type of the getter? > at org.springframework.beans.BeanWrapperImpl.setPropertyValue > (BeanWrapperImpl.java:750) > at org.springframework.beans.BeanWrapperImpl.setPropertyValue > (BeanWrapperImpl.java:607) > at > org.springframework.beans.AbstractPropertyAccessor.setPropertyValue > (AbstractPropertyAccessor.java:49) > at > org.springframework.beans.AbstractPropertyAccessor.setPropertyValues > (AbstractPropertyAccessor.java:74) > at > org.springframework.beans.AbstractPropertyAccessor.setPropertyValues > (AbstractPropertyAccessor.java:57) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac > tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:965) > ... 27 more > > How do I configure an SU so that the TaskEngine SE can receive and > forward messages? > > Thanks, > Scott > > --- > > On May 9, 2007, at 3:10 AM, Gert Vanthienen wrote: > >> >> Scott, >> >> If your SE just wants to get a single file using, you might be >> better off >> using the commons-net API directly to go and get it. If you really >> want an >> FTP poller, I suppose you can programmaticaly add an >> FTPPollerEndpoint once >> the servicemix-ftp component is installed. The other option would >> be to >> 'generate' a SU on-the-fly and deploy it into the container using >> the API. >> >> Regards, >> >> Gert >> >> >> Scott Johnson-16 wrote: >>> >>> >>> On May 8, 2007, at 8:49 AM, Gert Vanthienen wrote: >>> >>>> ... >>> >>> Yes this is precisely what I need to do. It sounds like it's worth >>> the time for me to pursue this prototype in ServiceMix further. >>> >>> One other question: can the provided SEs be configured at run-time to >>> perform their service? For example, say I have 2 work orders both of >>> which want use FTP to monitor for input files but at different times >>> and from different FTP sites. Can my SE pass along a configuration at >>> run-time to the servicemix-ftp component to tell it where to GET from >>> (rather than having to specify it in a config file)? I assume I'd >>> still need to deploy an SU but (hopefully) I can override it's >>> configuration dynamically as I process work-orders. >>> >>> Thanks, >>> Scott >>> >>>> ... >>> >>> >>> >>> >>> >> >> -- >> View this message in context: http://www.nabble.com/Is-ServiceMix- >> JBI-a-Good-Fit-for-Dynamic-Processing--tf3705460s12049.html#a10389452 >> Sent from the ServiceMix - User mailing list archive at Nabble.com. >> > > > > > -- View this message in context: http://www.nabble.com/Is-ServiceMix-JBI-a-Good-Fit-for-Dynamic-Processing--tf3705460s12049.html#a10420456 Sent from the ServiceMix - User mailing list archive at Nabble.com.
