【问题标题】:HTTP:TIMEOUT error through mule request connector but api working through postman通过 mule 请求连接器的 HTTP:TIMEOUT 错误,但通过邮递员工作的 api
【发布时间】:2022-01-09 00:59:57
【问题描述】:

我正在使用 mule-4。我正在尝试集成第三方 API(机密)。它由邮递员工作,并在 1 秒内返回响应。 当我在 mule 中为相同的请求连接器编写请求连接器时,API 不断给出超时异常。 我将响应超时增加到 2 分钟,然后也得到了相同的错误,即超时。 请帮忙。

编辑 1:

我能够在邮递员上重现此问题。所以邮递员默认添加 Connection:keep-alive 标头,当添加此特定标头时,API 会在几秒钟内给出响应,但是当此标头丢失时,API 会给出超时错误。

【问题讨论】:

    标签: mulesoft anypoint-studio mule4 mule-esb


    【解决方案1】:

    您并没有真正提供太多有关问题的详细信息。我可以给出一些通用的指导方针:

    1. 确保存在网络连接。如果您在同一台计算机上测试 Postman 和 Mule,这可能不是问题。
    2. 确保主机、端口和证书(如果使用 TLS)相同。将 HTTPS 请求指向端口 80 有时可能会导致超时。
    3. 在 Mule 中启用 HTTP Wire 日志记录并将 Postman 代码作为 HTTP 进行比较,以识别请求之间的任何显着差异。例如:headers、URI、body 应该是相同的,除了可能有几个 headers。取决于 API。当请求不同时,这通常是 Postman 和 Mule 之间差异的主要原因。

    【讨论】:

    • 感谢您的帮助! 1. 计算机相同 2. mule 和 postman 中的主机和端口相同,不需要 TLS 3. mule 和 postman 中的 Headers、URI、body 相同。来自邮递员的 API 还会在标头中附加 cookie。
    • 我能够在邮递员上重现此问题。所以邮递员默认添加 Connection:keep-alive 标头,当添加此特定标头时,API 会在几秒钟内给出响应,但是当此标头丢失时,API 会给出超时错误。关于如何在 mule 上实现此功能的任何建议,我应该在请求组件的标头中添加 connection:keep-alive 吗?
    • 不,不要尝试手动添加。它与 HTTP 协议的一个特性有关,称为持久连接。它应该在 HTTP 请求配置中默认启用(使用持久连接请参阅docs.mulesoft.com/http-connector/1.6/…)。
    猜你喜欢
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2020-05-06
    • 1970-01-01
    • 2019-12-13
    • 2016-07-03
    • 1970-01-01
    相关资源
    最近更新 更多