2017-02-12 58 views
0

我正在使用Anypoint Studio 6.1和Mule 3.8.1,并且有一个调用MongoDB的流程。我想看看如何获​​取HTTP状态,以便我可以配置我的异常处理。当我断开MongoDB并运行Mule工作流时,它按预期失败,但是当我尝试使用表达式message.inboundProperties['http.status']并且异常消息代码为-1时,HTTP状态返回为空,但是当我将错误播放到工作流的末尾时邮递员状态显示为500。如何从Mule获取HTTP状态代码

如何获得HTTP状态?

由于

回答

1

message.inboundProperties [ 'http.status']将给出http.status代码当HTTP请求调用在流之内。如果流试图调用数据库,那么您可能需要在流的错误处理内部有一个catch异常策略来捕获所需的异常。如果异常匹配,则可以将http.status和异常有效负载设置为发送到客户端。

0

如果您正在使用API​​Kit路由器,那么你可以使用下面的代码:

<apikit:mapping-exception-strategy name="apiKitGlobalExceptionMapping"> 
    <apikit:mapping statusCode="500"> 
     <apikit:exception value="java.lang.Exception"/> 
     <set-property propertyName="Content-Type" value="application/json" doc:name="Property" /> 
     <set-payload value="{ &quot;message&quot;: &quot;Internal server error&quot; }" doc:name="Set Payload" /> 
    </apikit:mapping> 

有关详细信息,您可以检查here