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/

Reply via email to