An exchange goes from one the consumer to the provider several times in its
life cycle. For an InOut exchange, the usual steps are
consumer -> provider (status = active, in message)
provider -> consumer (status = active, out message)
consumer -> provider (status = done)
So in your SE, you need to check the status of the exchange before
processing it.
The exception is thrown because you try to set the out message on an
exchange
in a DONE status certainly.
On 5/15/07, Benamin <[EMAIL PROTECTED]> wrote:
What do you mean by checking the status in my component? And how would
this
cause the exception?
thanks.
tterm wrote:
>
> Is it possible that you don't check the status in your component?
>
> Cheers,
> Thomas
>
> Benamin wrote:
>> I have created a successful example of http consumer that sends message
>> to an
>> SE, and then returns that message back out to http using the
client.html
>> that was provided with the bridge example.
>>
>> I have just one issue. After I get a status: 200 and my message back,
if
>> I
>> sit and wait maybe a minute, ServiceMix logs an exception. I am
listing
>> it
>> below. Is this a problem? If so, how can I fix it?
>>
>> ERROR - MyComponent - Error processing exchange
InOut[
>> id: ID:massive-64664-1179200462025-2:0
>> status: Done
>> role: provider
>> service:
>> {
http://servicemix.apache.org/servicemanagerassembly}ServiceManagerEnqueue
>> endpoint: endpoint
>> in: Unable to display: org.mortbay.jetty.EofException
>> out: Unable to display: org.mortbay.jetty.EofException
>> ]
>> javax.jbi.messaging.MessagingException: Out not supported
>> at
>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(
MessageExchangeImpl.java:317)
>> at
>> org.apache.servicemix.samples.serviceManagerAssembly.MyEndpoint.process
(MyEndpoint.java:313)
>> at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(
AsyncBaseLifeCycle.java:489)
>> at
>> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(
AsyncBaseLifeCycle.java:441)
>> 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)
>> ERROR - MyComponent - Error setting exchange status
to
>> ERROR
>> javax.jbi.messaging.MessagingException: illegal call to send / sendSync
>> at
>> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(
MessageExchangeImpl.java:571)
>> at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(
DeliveryChannelImpl.java:370)
>> at
>> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(
DeliveryChannelImpl.java:417)
>> at
>> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(
BaseLifeCycle.java:58)
>> 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)
>
>
> --
> Thomas Termin
> _______________________________
> blue elephant systems GmbH
> Wollgrasweg 49
> D-70599 Stuttgart
>
> Tel : (+49) 0711 - 45 10 17 676
> Fax : (+49) 0711 - 45 10 17 573
> WWW : http://www.blue-elephant-systems.com
> Email : [EMAIL PROTECTED]
>
> blue elephant systems GmbH
> Firmensitz : Wollgrasweg 49, D-70599 Stuttgart
> Registergericht : Amtsgericht Stuttgart, HRB 24106
> Geschäftsführer : Holger Dietrich, Thomas Gentsch, Joachim Hoernle
>
>
>
--
View this message in context:
http://www.nabble.com/question-about-http-consumer-tf3756165s12049.html#a10623483
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Cheers,
Guillaume Nodet
------------------------
Principal Engineer, IONA
Blog: http://gnodet.blogspot.com/