Guiseppe,

If you use an HTTP endpoint to send the message to your Validate endpoint (which is able to receive and send InOut), there is nothing else you need to do. If your validate sets the 'out' NormalizedMessage it receives from the routing-slip as the 'out' NormalizedMessage to the exchange it received in the first place, everything should work fine and your HTTP client should get the response.

Gert

beppe82 wrote:
I use InOnly between FTP and TOXML, InOut among the others...
StaticRoutingSlip accepts just InOut exchanges, and after the last component
in the routing table has elaborated the message, an "out" message should be
sent to VALIDATE, correct? VALIDATE could receive messages also from an http component (soap endpoint),
not only from TOXML: in the case the message was received from
http-component, I would like to send the out message to it... is it clear?
Thank you for your help, Giuseppe


Gert Vanthienen wrote:
Guiseppe,

I'm kind of confused by the "...be sent back to the Web Service...". The message exchange seems to originate from an FTP poller, if you schema at the top of your message is correct. This would explain why you get the exception below, because the FTP poller sends InOnly message exchanges. You cannot add an 'out' NormalizedMessage to an InOnly MessageExchange.

If the first component was e.g. an HTTP Provider endpoint and every other component in the process is working with InOut MessageExchanges, things would work out fine, I suppose.

Gert

Beppe wrote
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



Reply via email to