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.




Reply via email to