Throwing exceptions in the onMessageExchange method is usually
a bad idea. The best way to report errors is to use the error field
on the exchange and sent it back:
exchange.setError(exception);
channel.send(exchange;
On 1/15/07, apinke <[EMAIL PROTECTED]> wrote:
I have a question on how and where to handle the MessagingExceptions.
I have a HttpInOutBinding with a custom marshaler that handles the web
request and sends it off to
a Component which extends "ComponentSupport".
Throughout the code , I am throwing a "MessagingException" , when an error
takes place. The "onMessageExchange" in the Component throws this
MessagingException.
I would like this Exception ( .getMessage() ) to be sent back as the servlet
response to the Client. Is there a way I can achieve this ?
Where do the MessagingExceptions thrown by the Components go ??
I can see the trace in the SM log , but the message does not get propogated
furthur to the client
and the client just keeps waiting.
ERROR - SedaQueue - org.apache.servicemix.jbi.nmr.flow.seda
[EMAIL PROTECTED] got error processing MessageExchange[
id: ID:lkipo0hd8D-1648-1168853657539-4:0
status: Active
role: provider
service: {http://localhost/test}my-service
endpoint: my-service
in:
]
javax.jbi.messaging.MessagingException: Error in getting the Service!!No
bean na
med 'TestService' is defined
at com.test.esb.core.MyComponent.processInputRequest
at com.test.esb.core.MyComponent.onMessageExchange
Is there a way where I can redirect all MessagingExceptions to servlet
response ?
Thanks
Pat
--
View this message in context:
http://www.nabble.com/Handling-MessagingExceptions...-tf3013670s12049.html#a8369089
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/