You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by lekkie <le...@gmail.com> on 2010/02/04 11:52:18 UTC
Setting custom response message after handling exception
Hi,
I'd like to set a custom message body after handling an exception.
I have handled an exception with the following, how do I set the body to a
desired message?
<route>
<from uri="direct:route2"/>
<to uri="xslt:requestToSOAP.xsl"/>
<!-- do other things -->
<onException>
<exception>org.apache.servicemix.cxfbc.interceptors.JbiFault</exception>
<redeliveryPolicy maximumRedeliveries="1" />
<handled><constant>true</constant></handled>
<!-- set response message to client system here -->
</onException>
</route>
--
View this message in context: http://old.nabble.com/Setting-custom-response-message-after-handling-exception-tp27450868p27450868.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Setting custom response message after handling exception
Posted by lekkie <le...@gmail.com>.
<route>
<from uri="direct:Services"/>
<convertBodyTo type="javax.xml.transform.dom.DOMSource" />
<to
uri="nmr:{http://services.locator/}ServicesService:ServicesPort"/>
<convertBodyTo type="javax.xml.transform.stream.StreamSource" />
<onException>
<exception>org.apache.servicemix.cxfbc.interceptors.JbiFault</exception>
<redeliveryPolicy maximumRedeliveries="1" />
<handled><constant>true</constant></handled>
<transform>
<constant>
<kxml>
<responseCode>91</responseCode>
<responseMessage>Connection timed
out</responseMessage>
</kxml>
</constant>
</transform>
</onException>
<onException>
<exception>java.lang.Exception</exception>
<handled><constant>true</constant></handled>
<transform>
<constant>
<kxml>
<responseCode>06</responseCode>
<responseMessage>Unknown Error</responseMessage>
</kxml>
</constant>
</transform>
</onException>
</route>
I am trying to create an exception clause for the route decribed above and
it failes with
12:45:50,543 | ERROR | tenderThread-100 | ContextLoaderListener |
BundleApplicationContextListener 50 | Application context refresh failed
(OsgiBundleXmlApplicationContext(bundle=kimono-bundle,
config=osgibundle:/META-INF/spring/*.xml))
org.apache.camel.RuntimeCamelException:
org.apache.camel.FailedToCreateRouteException: Failed to create route
route37 at: >>> OnException[[class java.lang.Exception] ->
[Transform[constant{
<kxml>
<responseCode>06</responseCode>
<responseMessage>Unknown Error</responseMessage>
</kxml>
<kxml>
<responseCode>06</responseCode>
<responseMessage>Unknown Error</responseMessage>
</kxml>
}]]] <<< in route: Route[[From[direct://Services]] ->
[OnException[[nul... because of null
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1039)
at
org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:136)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create
route route37 at: >>> OnException[[class java.lang.Exception] ->
[Transform[constant{
<kxml>
<responseCode>06</responseCode>
<responseMessage>Unknown Error</responseMessage>
</kxml>
<kxml>
<responseCode>06</responseCode>
<responseMessage>Unknown Error</responseMessage>
</kxml>
}]]] <<< in route: Route[[From[direct://Services]] ->
[OnException[[nul... because of null
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:643)
at
org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:136)
Claus Ibsen-2 wrote:
>
> On Thu, Feb 4, 2010 at 11:52 AM, lekkie <le...@gmail.com> wrote:
>>
>> Hi,
>>
>> I'd like to set a custom message body after handling an exception.
>>
>> I have handled an exception with the following, how do I set the body to
>> a
>> desired message?
>>
>> <route>
>> <from uri="direct:route2"/>
>> <to uri="xslt:requestToSOAP.xsl"/>
>> <!-- do other things -->
>> <onException>
>>
>> <exception>org.apache.servicemix.cxfbc.interceptors.JbiFault</exception>
>> <redeliveryPolicy maximumRedeliveries="1" />
>> <handled><constant>true</constant></handled>
>> <!-- set response message to client system here -->
>> </onException>
>> </route>
>>
>
> Just do it anyhow you like it using a Processor, POJO etc. You can
> just continue routing the message from that point.
>
> If you did pickup the Camel in Action book yesterday which was on sale
> for 10$ you could see an example in chapter 5, listing 5.8.
>
>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Setting-custom-response-message-after-handling-exception-tp27450868p27450868.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context: http://old.nabble.com/Setting-custom-response-message-after-handling-exception-tp27450868p27451994.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Setting custom response message after handling exception
Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Feb 4, 2010 at 11:52 AM, lekkie <le...@gmail.com> wrote:
>
> Hi,
>
> I'd like to set a custom message body after handling an exception.
>
> I have handled an exception with the following, how do I set the body to a
> desired message?
>
> <route>
> <from uri="direct:route2"/>
> <to uri="xslt:requestToSOAP.xsl"/>
> <!-- do other things -->
> <onException>
>
> <exception>org.apache.servicemix.cxfbc.interceptors.JbiFault</exception>
> <redeliveryPolicy maximumRedeliveries="1" />
> <handled><constant>true</constant></handled>
> <!-- set response message to client system here -->
> </onException>
> </route>
>
Just do it anyhow you like it using a Processor, POJO etc. You can
just continue routing the message from that point.
If you did pickup the Camel in Action book yesterday which was on sale
for 10$ you could see an example in chapter 5, listing 5.8.
>
> --
> View this message in context: http://old.nabble.com/Setting-custom-response-message-after-handling-exception-tp27450868p27450868.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus