Hi, I have the following scenario:
ftp-poller --> to-xml-se --> validate-se --> static-routing-slip
validate-se can be used by a Web Service too.
Static routing slip is configured to forward each message it receives to
sp1, sp2, sp3, ..., sp7.
In theory, when sp7 fills and sends the out message, it should be sent to
validate-se, correct?
Now, I would like this message (the out message that arrives to validate-se)
be sent back to the Web Service.
First, how can I know the "sender" service which sent the IN message to
validate-se (to-xml-se or WS)?
Second, for now I remembered the exchange with the WS by setting a local
variable in validate-se.MyEndpoint (for now I distinguish between to-xml-se
and WS looking at the mep used :( ); when validate-se receives the OUT
message by sp7, it does the following:
this.wsExchange.setMessage(exchange.getMessage("out"), "out");
channel.send(this.wsExchange);
This method works, in the sense that the WS receives the response message,
but validate-se raise the following exception:
15:19:27,484 | Error processing exchange InOut[
id: ID:giuseppe-laptop-4111-1184246290890-14:77
status: Active
role: consumer
service: {http://giuseppe.org}routingSlip
endpoint: endpoint
in: <?xml version="1.0" encoding="UTF-8"?>
out: <?xml version="1.0" encoding="UTF-8"?><status>completed!</status>
]
javax.jbi.messaging.MessagingException: Out not supported
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:317)
at cedac.validate.MyEndpoint.process(MyEndpoint.java:211)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:463)
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:595)
I know this post is a bit confused, but I hope you can help me!
Thanks, Giuseppe
--
View this message in context:
http://www.nabble.com/forwarding-out-messages-tf4068171s12049.html#a11560244
Sent from the ServiceMix - User mailing list archive at Nabble.com.