You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用EWS召回邮件报错ErrorInvalidRequest,求正确实现方法

解决EWS邮件召回的ErrorInvalidRequest错误

你的SOAP请求返回ErrorInvalidRequest的核心原因是元素命名空间错误,还可能缺少必要参数。以下是修正后的请求和关键注意事项:

修正后的SOAP请求

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
               xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2010_SP2"/>
    <!-- 需添加对应身份验证头信息,比如Basic Auth或WS-Trust令牌 -->
  </soap:Header>
  <soap:Body>
    <m:RecallItem>
      <m:ItemIds>
        <t:ItemId Id="[ItemId]" ChangeKey="[ChangeKey]"/>
      </m:ItemIds>
      <m:DeleteType>SendOnly</m:DeleteType>
      <m:SuppressReadReceipts>false</m:SuppressReadReceipts>
    </m:RecallItem>
  </soap:Body>
</soap:Envelope>

关键修正点

  • 命名空间调整:RecallItem的子元素ItemIds、DeleteType、SuppressReadReceipts属于messages命名空间(前缀m),而非types命名空间(前缀t),原请求错误给这些元素加了t:前缀,导致请求结构无效。
  • 补充ChangeKey:部分旧Exchange版本可能允许仅传ItemId,但为了兼容性和正确性,建议同时带上目标邮件的ChangeKey(可通过GetItem请求获取)。
  • 明确前缀归属:给messages命名空间指定m前缀,避免元素归属混淆。

额外注意事项

  • 邮件召回仅对未被收件人读取的邮件生效,且仅限同一Exchange组织内的收件人。
  • 确保RequestServerVersion的版本与目标Exchange服务器版本匹配,若服务器版本更高,可调整为对应版本(如Exchange2013、Exchange2016等)。
  • 发起请求的账号必须是目标邮件的发件人,且拥有该邮件的修改权限。

内容的提问来源于stack exchange,提问作者catFly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:40:44