我来找你是因为我需要你的帮助。
在我的文件camel-context.xml中,我调用了一个存储过程,该过程获取用户的信息。我需要解决的问题是:
如果存储过程没有返回数据,则会发送UserNotFound异常(我已经有了该类),其中包含http代码404。
我一直在寻找如何做到这一点,但找不到任何可以帮助我。我刚刚开始与这个框架,所以非常感谢您的帮助提前。
这里我的代码:
<route id="getUser" streamCache="false">
<from uri="direct:getUser"/>
<to uri="sql-stored:[dbo].[usp_get_user](VARCHAR ${headers.userId})?dataSource=#primarydatasource" />
<setBody>
<simple>${body['#result-set-1']}</simple>
</setBody>
<marshal> <custom ref="userObject" /> </marshal>
<unmarshal>
<custom ref="userObject"/>
</unmarshal>
</route>
1条答案
按热度按时间toiithl61#
您可以添加
onException
子句来处理PL-SQL错误:someExceptionHandlerBean
将是一个POJO bean,它定义了一个#handleUserNotFound
方法,在该方法中,您将返回一个错误特定的 Package 器,在您的示例中,它将是某种具有正确404
状态的HTTP响应对象。