Apache Camel return 生产者错误
Apache Camel return producer errors
我有一个简单的代理配置,如下所示:
from("netty-http://0.0.0.0:8080/xyz")
.toD("netty-http:" + "https://abc/xyu")
.process(this::processResponse);
但是当 abc 服务 return 400 出现可读错误时,camel return 自己的异常:
org.apache.camel.component.netty.http.NettyHttpOperationFailedException: Netty HTTP operation failed invoking
我能做些什么来简单地return来自生产者服务的错误?
您可以尝试将 throwExceptionOnFailure 选项设置为 false。 camel 中的 Http 组件默认启用此功能,可能是为了像 camel 中的任何其他异常一样轻松捕获和处理故障。
启用后,您可以通过 Exchange 属性获取异常和有关异常的详细信息,在此过程中,您可能可以转换为 NettyHttpOperationFailedException
以获取有关它的更多信息。
Exception cause = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class);
我在码头遇到了类似的问题 (Apache-Camel / Camel-Jetty / Don't return exception-stack-trace in case of 401 response)
就我而言,选项 bridgeEndpoint=true
和 throwExceptionOnFailure=false
解决了问题(http 401 除外)
from("netty-http://0.0.0.0:8080/xyz")
.toD("netty-http:" + "https://abc/xyu?bridgeEndpoint=true&throwExceptionOnFailure=false")
.process(this::processResponse);
我有一个简单的代理配置,如下所示:
from("netty-http://0.0.0.0:8080/xyz")
.toD("netty-http:" + "https://abc/xyu")
.process(this::processResponse);
但是当 abc 服务 return 400 出现可读错误时,camel return 自己的异常:
org.apache.camel.component.netty.http.NettyHttpOperationFailedException: Netty HTTP operation failed invoking
我能做些什么来简单地return来自生产者服务的错误?
您可以尝试将 throwExceptionOnFailure 选项设置为 false。 camel 中的 Http 组件默认启用此功能,可能是为了像 camel 中的任何其他异常一样轻松捕获和处理故障。
启用后,您可以通过 Exchange 属性获取异常和有关异常的详细信息,在此过程中,您可能可以转换为 NettyHttpOperationFailedException
以获取有关它的更多信息。
Exception cause = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class);
我在码头遇到了类似的问题 (Apache-Camel / Camel-Jetty / Don't return exception-stack-trace in case of 401 response)
就我而言,选项 bridgeEndpoint=true
和 throwExceptionOnFailure=false
解决了问题(http 401 除外)
from("netty-http://0.0.0.0:8080/xyz")
.toD("netty-http:" + "https://abc/xyu?bridgeEndpoint=true&throwExceptionOnFailure=false")
.process(this::processResponse);