soap - MarkAsJunk 操作错误代码 9020。获取“发生内部服务器错误。操作失败。”
问题描述
我正在尝试使用 MarkAsJunk 操作,仅使用带有Office.context.mailbox.makeEwsRequestAsync
. 为此,我还使用了easyEWS模块,它是OfficeJS 的包装器。我用来发送SOAP的代码如下所示:
this.markAsJunk = function (itemId) {
var soap = '<m:MarkAsJunk IsJunk="true" MoveItem="true"' +
'
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">' +
' <ItemIds>' +
' <t:ItemId Id="' + itemId + '"/>' +
' </ItemIds>' +
'</m:MarkAsJunk>';
soap = getSoapHeader(soap);
asyncEws(soap, function (data) { });
};
我发送的SOAP如下所示:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />
</soap:Header>
<soap:Body>
<m:MarkAsJunk IsJunk="true" MoveItem="true"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemIds>
<t:ItemId Id="AAMkADg2OGZmNDkzLWVjNDYtNGI2MC1iMGI3LWE3YmEzMDk5MThiNABGAAAAAAC3FQIsRYg6SZwlyqfCFdA0BwBTNDtA08+GRo/QPlH0XaGpAAAAAAEMAABTNDtA08+GRo/QPlH0XaGpAADEMDCVAAA="/>
</ItemIds>
</m:MarkAsJunk>
</soap:Body>
</soap:Envelope>
解决方案
ItemIds 存在于命名空间 xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" 中,因此您需要使用“m:ItemIds”。请参阅此处的教程以了解 SOAP 请求格式。
推荐阅读
- java - Java ee Servlet 正在处理 AbstractMethodError
- ios - iOS App Rejected EXC_BAD_ACCESS (SIGSEGV) - 无法重现错误
- python - TypeError: 'int' 对象不可调用 total_interest = num_payments(years * 12) * loanpayment(principal, percent, years)
- entity-relationship - 双方一对一关系的实体关系
- javascript - 如何使用 Formik Yup 验证多个电话号码
- c++ - 如何通过保存在容器中的成员指针函数调用?
- sparql - 使用 SPARQL 查询时,如何保护运行 Sesame Triplestore 的系统免受注入?
- python - 如何将变量分配给 matplotlib 图形对象并在布局中重用它
- reactjs - React Hook useEffect 缺少依赖项:'execute'
- javascript - Google Apps 脚本:将 Gmail 附件保存到 Google Drive