You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Sloan, John L (John)" <js...@avaya.com> on 2006/05/20 00:11:36 UTC
Fault versus ERROR for RobustInOnly exchanges
My reading of the JBI specification is that
O a PROVIDER may respond to a RobustInOnly
MessageExchange with a Fault;
o a Fault is a NormalizedMessage in the
MessageExchange container just like the
In and Out messages;
O a MessageExchange containing a Fault is
not necessarily the same as a MessageExchange
with an ExchangeStatus.ERROR (although it
could be, Fault and ERROR are orthogonal
concepts).
When I try
PROVIDER replies to RobustInOnly MessageExchange by
Fault fault = exchange.createFault();
fault.setContent(foo);
exchange.setMessage(fault, "fault");
channel.send(exchange)
ServiceMix-3.0 responds with a MessagingException
of "illegal exchange status: Active".
Must MessageExchanges containing Faults be set to
ExchangeStatus.ERROR?
--
John Sloan email jsloan@avaya.com
Avaya Inc. voice +1 303 538 2746
1300 West 120th Ave. office B1-C46
Westminster CO 80234-2701 USA
Re: Fault versus ERROR for RobustInOnly exchanges
Posted by Guillaume Nodet <gn...@gmail.com>.
You're right.
We have test cases to ensure that it works.
However there was a bug on MEPs that has been fixed two months ago.
See
http://svn.apache.org/viewvc/incubator/servicemix/trunk/servicemix-core/src/main/java/org/apache/servicemix/jbi/messaging/RobustInOnlyImpl.java?r1=379750&r2=383902&diff_format=h
Could it be that you use this old version ? If yes, just replace your
servicemix-core jar by a recent version.
Cheers,
Guillaume Nodet
On 5/20/06, Sloan, John L (John) <jsloan@avaya.com > wrote:
>
>
> My reading of the JBI specification is that
>
> O a PROVIDER may respond to a RobustInOnly
> MessageExchange with a Fault;
>
> o a Fault is a NormalizedMessage in the
> MessageExchange container just like the
> In and Out messages;
>
> O a MessageExchange containing a Fault is
> not necessarily the same as a MessageExchange
> with an ExchangeStatus.ERROR (although it
> could be, Fault and ERROR are orthogonal
> concepts).
>
> When I try
>
> PROVIDER replies to RobustInOnly MessageExchange by
>
> Fault fault = exchange.createFault();
> fault.setContent(foo);
> exchange.setMessage(fault, "fault");
> channel.send(exchange)
>
> ServiceMix-3.0 responds with a MessagingException
> of "illegal exchange status: Active".
>
> Must MessageExchanges containing Faults be set to
> ExchangeStatus.ERROR?
>
> --
> John Sloan email jsloan@avaya.com
> Avaya Inc. voice +1 303 538 2746
> 1300 West 120th Ave. office B1-C46
> Westminster CO 80234-2701 USA
>
>
>
--
Cheers,
Guillaume Nodet