makeEwsRequestAsync随机生成错误

时间:2018-01-24 19:43:17

标签: outlook office-js

我正在使用Office JavaScript API通过加载项编辑和保存电子邮件。 要获取电子邮件的所有附件,请使用makeEwsRequestAsync。大多数情况下,该方法是成功的,但有时会返回此错误:

  

无法通过HttpWebRequest发出请求。   例外:无法将数据写入传输连接:远程主机强制关闭现有连接。

{
    "value": null,
    "status": "failed",
    "error": {
        "name": "GenericResponseError",
        "message": "Failed to make a request via `HttpWebRequest`. Exception: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host.",
        "code ": 9020
    }
}

我正在使用Outlook 2016 Online(Office 365 ProPlus版本1711),我在使用Chrome和Edge浏览器的Windows 10计算机上收到了错误。

修改

以下是完整的方案:

  1. 制作新电子邮件
  2. 点击发送按钮
  3. 加载项将拦截发送事件
  4. 加载项使用将返回Office.context.mailbox.item.saveAsync
  5. itemId保存草稿下的电子邮件
  6. 返回itemId后,尝试通过调用两个makeEwsRequestAsync方法(使用itemId并使用格式正确的XML)加载电子邮件标题和附件(并行)
  7. 我只能考虑3个问题:

    • saveAsync是否可能会返回尚不存在的itemId? 但在这种情况下,我期待一个不同的错误信息。
    • 同时拨打2 makeEwsRequestAsync是否有问题? 我不这么认为。 JavaScript是单线程的,并且永远不会同时调用这两种方法。
    • 是否存在与EWS API通信的会话超时?

    此外,错误发生在不同的邮箱中,并且没有其他先前或后期错误。

0 个答案:

没有答案