1.我正在通过骆驼路由调用一个示例SOAP-WS,我只想在服务调用成功执行和服务调用不成功执行后获得http状态代码(响应代码,如200 OK
2.我正在通过骆驼路由调用一个示例REST-WS,我只需要在从服务调用成功执行和从服务调用不成功执行之后的http状态代码(响应代码,比如200OK),在这两种情况下,我们的业务逻辑都会被触发。我所尝试的
//Camel-context <camelContext xmlns="http://camel.apache.org/schema/spring" handleFault="true">
<onException>
<exception>org.apache.cxf.binding.soap.SoapFault</exception>
<exception>java.lang.Exception</exception>
<handled><constant>true</constant></handled>
<bean ref="exceptionHandlerforWS"/>
</onException> <route>
<from uri="cxf:bean:ToStartRoute"/>
<bean ref="InputforWS"/>
<to uri="cxf:bean:factorial_WS"/>
<bean ref="OutputFromWS"/>
</route>
</camelContext>
// exceptionHandlerforWS Exception cause = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class);
if(cause.getMessage().contains("404")) { System.out.println("getting 404 from Service"); }
问题陈述:
1.在web服务调用成功或失败的情况下,我们应该如何准确地获得http状态代码?我甚至尝试了system.out.println((Exchange.HTTP_Response_Code));但它正在打印静态字符串“CamelHttpResponSecode”
2.我们想要区分成功的web服务执行和不成功的web服务执行,我们到底怎么做?
SOAP错误在默认情况下不是异常。您可以在
上启用handlefault=true
以将SOAP错误转换为异常,Camel错误处理程序可以检测并处理/响应该异常。
您可以在调用CXF WS之前和之后使用tracer查看Camel消息包含哪些数据,这可以帮助您找出返回了哪些头等,您可以使用它来检查调用是否成功。
http://camel.apache.org/tracer
我一直在尝试编写一个Perl 6表达式,它执行以下逻辑:计算子表达式并返回其值,但是如果这样做导致引发异常,则捕获异常并返回固定值。 例如,假设我想将两个数字相除,如果发生错误,则表达式的计算结果为。我可以用Ruby写: 在Emacs Lisp中,可以写为: 我的第一次Perl 6尝试是这样的: 但是在这里,最终是未定义的,不管是否为零。 似乎忽略了返回的值,或者至少在描述异常如何工作的文档页面上
本文向大家介绍spring boot请求异常处理并返回对应的html页面,包括了spring boot请求异常处理并返回对应的html页面的使用技巧和注意事项,需要的朋友参考一下 通过之前的学习,我知道中间件可以预处理http请求并返回相应页面(比如出现404异常,可以返回一个自己编写的异常界面,而非默认使用的白板404页面,很难看)。其实spring boot也提供了这样的功能。 404异常处理
问题内容: 我发现以下行为至少 很奇怪 : 在子句中使用时,该异常消失。那是个错误吗?那在任何地方都有记录吗? 但是真正的问题(我将标记为正确的答案)是: python开发人员允许这种奇怪行为的原因是什么? 问题答案: 您询问了有关Python开发人员的推理。我不能为他们说话,但是没有其他行为可以理解。函数可以返回值,也可以引发异常。它不能同时做到。“最终”子句的目的是提供“保证”运行的清除代码,
因此,我试图以通用的方式记录spring项目的控制器返回的所有未捕获的异常。我可以使用以下异常处理程序来完成此操作: 但是,对于方法的每次调用,由于方法中抛出的异常,会创建第二个错误日志:代码来自org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolveHandlerMethodExc
我想做这样的东西: 这将不起作用,因为ifPresent将使用者函数接口作为参数,它具有void accept(t)。它不能返回任何值。还有别的办法吗?
问题内容: 我有一个ScheduledThreadPoolExecutor,似乎正在吃异常。如果提交的Runnable引发异常,我希望我的执行者服务通知我。 例如,我希望下面的代码至少输出IndexArrayOutOfBoundsException的stackTrace 作为附带问题。有没有办法为ScheduledThreadPoolExecutor编写常规try catch块? ////////