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

how to handle http connector response code

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

进行另一个 http 调用

提前致谢。我仍在学习 xml 代码,但如果您有 GUI 方面的 Anypoint Studio 经验,那将非常有帮助。

我通过在 http-connector 的“高级”选项卡下设置 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,则使用此特定流路径,否则使用默认路径。