2

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

提前致谢。我仍在学习 xml 代码,但如果您在 GUI 中有任何一点工作室经验,那将非常有帮助。

4

1 回答 1

1

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

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

在此处输入图像描述

于 2019-03-11T18:50:14.550 回答