如何处理http连接器响应代码

问题描述 投票:2回答:1

目前在mule中,我有一个流程来建立与elasticsearch的http连接。我们正在使用滚动api,所有连接都很好。我正在尝试创建一个流来处理404 status code,如果scroll_id已在请求中过期,将返回该流。目前,我在http连接器的"Failure Status Code Validator"部分的高级设置中添加了代码404。我想要完成的是当从这个特定的http调用返回404时(我们知道这是由于scroll_id到期),我们再向另一个网关发出http调用。因此,当404,另一个http呼叫到一个单独的链接。

提前致谢。我仍然在学习xml代码,但是如果你在GUI中有任何一点工作室经验会非常有用。

mule mule-studio anypoint-studio mulesoft
1个回答
1
投票

我通过在http连接器的Advanced选项卡下设置success status code validator来完成此操作。

在设置此值之前,获取404时,mulesoft将提高其错误代码4xx的默认异常。目前,我仍然无法弄清楚如何覆盖或设置额外的东西,这可能是由于我正在接管的这个特定项目。但是,在成功代码验证器部分中,我将值设置为200,404,这表示状态代码200和404可以传递给流中的下一个组件。默认情况下,如果你没有设置404,mulesoft将再次抛出其状态代码404的默认内置错误消息。因此,我告诉mulesoft将此视为没问题,我可以传递给项目中的下一个组件。在出站http调用外部休息服务之后的下一个流程中,我有一个choice-component,它正在评估http调用的状态代码是什么。为此,您可以使用:#[message.inboundProperties.'http.status' == '404'],如果状态代码为404,则使用此特定流路径,否则使用默认路径。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.