As I wrote in the first message of this post, the http receives the message I
send by "validate" using

this.wsExchange.setMessage(exchange.getMessage("out"), "out");
channel.send(this.wsExchange);

where wsExchange is a local variable set when "validate" receives the "in"
message, but "validate" raise the exception reported in the first message of
this post.
Giuseppe


Gert Vanthienen wrote:
> 
> 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
>>>>
>>>>
>>>>   
>>>>       
>>>     
>>
>>   
> 
> 

-- 
View this message in context: 
http://www.nabble.com/forwarding-out-messages-tf4068171s12049.html#a11563280
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to