I'm new to SM, and trying to get a handle on how the FilePoller works.
Apparently I don't understand things correctly. What I am trying to do is
rather simple, as illustrated in my config file:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0";
        xmlns:spring="http://xbean.org/schemas/spring/1.0";
        xmlns:sm="http://servicemix.apache.org/config/1.0";
        xmlns:foo="http://servicemix.org/demo/";>
        
        <!-- the JBI container -->
        <sm:container id="jbi" useMBeanServer="true"
                createMBeanServer="true" dumpStats="true" statsInterval="10">
                
                <!-- File Reader component reads file from the inbox directory 
-->
                <sm:activationSpecs>
                        <!-- Look for files in the inbox directory -->
                        <sm:activationSpec componentName="filePoller"
                                destinationService="foo:ve" 
service="foo:filePoller">
                                <sm:component>
                                        <bean 
xmlns="http://xbean.org/schemas/spring/1.0";
                                                
class="org.apache.servicemix.components.file.FilePoller">
                                                <property name="workManager" 
ref="workManager" />
                                                <property name="file" 
value="inbox" />
                                                <property name="period" 
value="1000" />
                                                <!-- <property 
name="deleteFile" value="false"/> -->
                                        </bean>
                                </sm:component>
                        </sm:activationSpec>
                        
                        
                        <!-- This just invokes another service -->
                        <sm:activationSpec componentName="ve"   
                                service="foo:ve"
                                endpoint="createOrder"
                                destinationService="foo:trace">
                                <sm:component>
                                        <bean 
class="org.apache.servicemix.components.saaj.SaajBinding">
                                                <property name="soapEndpoint">
                                                        <bean 
class="javax.xml.messaging.URLEndpoint">
                                                                <constructor-arg
value="http://localhost:8081/wpgateway/services/createOrder?wsdl"/>
                                                        </bean>
                                                </property>
                                        </bean>
                                </sm:component>
                        </sm:activationSpec>
                        
                        <!-- Route the event to a trace component that just 
outputs the event to
the console -->
                        <sm:activationSpec componentName="trace" 
service="foo:trace">
                                <sm:component>
                                        <bean 
class="org.apache.servicemix.components.util.TraceComponent" />
                                </sm:component>
                        </sm:activationSpec>
                        
                        <!-- post the results and monitor the output -->
                        <sm:activationSpec componentName="httpSender" 
service="foo:httpSender"
destinationService="foo:trace">
                                <sm:component><bean
class="org.apache.servicemix.components.http.HttpInvoker">
                                        <property name="url"
value="http://mip.hireright.com:8080/wpgateway/services/createOrder?wsdl"/>
                                </bean></sm:component>
                        </sm:activationSpec>
                        
                        
                </sm:activationSpecs>
        </sm:container>
        
        
        <!-- the work manager (thread pool) for this container -->
        <bean id="workManager"
                class="org.jencks.factory.WorkManagerFactoryBean">
                <property name="threadPoolSize" value="30" />
        </bean>
        
</beans>

I am just trying to read in an XML file using the FilePoller and then send
it on it's way to the SAAJ SOAP component. The error I get back is:

ERROR - PojoSupport.fail(252) | Error processing exchange
javax.jbi.messaging.MessagingException: Out not supported
        at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:286)
        at
org.apache.servicemix.components.util.PojoSupport.answer(PojoSupport.java:231)
        at
org.apache.servicemix.components.saaj.SaajBinding.onMessageExchange(SaajBinding.java:102)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:708)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:171)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doSend(SedaFlow.java:146)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:120)
        at
org.apache.servicemix.jbi.nmr.Broker.sendExchangePacket(Broker.java:294)
        at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:679)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:451)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:525)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:502)
        at
org.apache.servicemix.components.file.FilePoller.processFile(FilePoller.java:207)
        at
org.apache.servicemix.components.file.FilePoller.processFileAndDelete(FilePoller.java:184)
        at
org.apache.servicemix.components.file.FilePoller$1.run(FilePoller.java:169)
        at
org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:595)

I am able to send the results to the trace component just fine, but it fails
when I send it to the SAAJ one (and I've confirm the XML is working fine, as
I can send to it under other scenarios). 

I would really appreciate any help on this -- I've been banging my head on
this all day.

Thaniks in advance!

jeff
--
View this message in context: 
http://www.nabble.com/Question-about-FilePoller-t1527589.html#a4149788
Sent from the ServiceMix - User forum at Nabble.com.

Reply via email to