Ok, I solved the problem!
When "validate" forward the out message to http-component and http-component
reply with "done", "validate" is "provider", so I had to insert something
like this
if (exchange.getStatus() == ExchangeStatus.DONE)
return;
before checking if there was a non empty "in" message (maven skeleton).
Thanks all, Giuseppe
beppe82 wrote:
>
> I upload the java... now wsExhange is a static field. The code regarding
> the problem is between lines 162-187 and 219-235. Thank you very much for
> your help!
>
> http://www.nabble.com/file/p11580518/MyEndpoint.java MyEndpoint.java
>
>
> kitplummer wrote:
>>
>> Just breaking it down. I think we need to go back and look at the code
>> for "this"...and verify what wsExchange is...
>>
>> Can you post the class? Or, throw it up at pastebin.com?
>>
>> Kit
>>
>> beppe82 wrote:
>>>
>>> What do you mean? I know it raises a Messaging Exception because Out is
>>> not supported and that this is caused by the sentence
>>>
>>> this.wsExchange.setMessage(exchange.getMessage("out"), "out");
>>>
>>> The problem is "why doesn't it support Out?". It should support out, so
>>> I can't mind why this error occurs...
>>> Giuseppe
>>>
>>>
>>> kitplummer wrote:
>>>>
>>>> Hey there. Let's look at the error:
>>>>
>>>> javax.jbi.messaging.MessagingException: Out not supported
>>>>
>>>> And, here's the problem:
>>>>
>>>> this.wsExchange.setMessage(exchange.getMessage("out"), "out");
>>>>
>>>> Hope this helps you a bit.
>>>>
>>>> Kit
>>>>
>>>> On 7/13/07, beppe82 <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>> No ideas about this strange (for me) error?
>>>>> Thanks, Giuseppe
>>>>>
>>>>>
>>>>> beppe82 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#a11576985
>>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Kit Plummer
>>>> Nobody-in-Charge @ Black:Hole:Logic
>>>> http://www.blackholelogic.com
>>>>
>>>>
>>>
>>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/forwarding-out-messages-tf4068171s12049.html#a11601898
Sent from the ServiceMix - User mailing list archive at Nabble.com.