问题
I'm using makeEwsRequestAsync to issue an UpdateItem call on an email I just made a copy of through another makeEwsRequestAsync I used with CopyItem. However, the response for UpdateItem is as follows:
<?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">*</Action></s:Header><s:Body><s:Fault><faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorInternalServerError</faultcode><faultstring xml:lang="en-US">An internal server error occurred. The operation failed.</faultstring><detail><e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorInternalServerError</e:ResponseCode><e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">An internal server error occurred. The operation failed.</e:Message></detail></s:Fault></s:Body></s:Envelope>
Any ideas? Below is the call I'm making. My goal is to create a copy of an email, change the subject line and recipient and send it (to emulate doing a forward). What's odd is that my call to UpdateItem doesn't even occur when I run the Mail Addin in OWA, but it works in Outlook 2016. I'll ignore that for now lol
<?xml version='1.0' encoding='utf-8'?><soap:Envelope xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/' xmlns:t='http://schemas.microsoft.com/exchange/services/2006/types'> <soap:Header> <t:RequestServerVersion Version='Exchange2013'/> </soap:Header> <soap:Body>'<UpdateItem MessageDisposition='SaveOnly' ConflictResolution='AutoResolve' xmlns='http://schemas.microsoft.com/exchange/services/2006/messages'> <ItemChanges> <t:ItemChange> <t:ItemId Id='AAMkADk0OGI2NTc3LTZkY2QtNDc1NS05MWM1LTZlNmRhMjQ4MjRlMABGAAAAAACRc/2u6ZxxTKKnN1SuVEBWBwCiPid+VwI1QKpXdMXuhotWAAAAAAEMAACiPid+VwI1QKpXdMXuhotWAADwH8K3AAA=' ChangeKey='CQAAABYAAACiPid+VwI1QKpXdMXuhotWAADvtGmZ'/> <t:Updates> <t:SetItemField> <t:FieldURI FieldURI='item:Subject'/> <t:Message> <t:Subject>UPDATED SUBJECT</t:Subject> </t:Message> </t:SetItemField> </t:Updates> </t:ItemChange> </ItemChanges> </UpdateItem> </soap:Body></soap:Envelope>
回答1:
I can see one problem with your XML you have an extra ' in (between Body and UpdateItem)
<soap:Body>'<UpdateItem MessageDisposition='SaveOnly'
With that removed your request work okays for me, you should make sure you have the latest changekey and the Item your trying to update should be located in the Mailbox where the AddIn is running
Cheers Glen
来源:https://stackoverflow.com/questions/33311265/internal-server-error-with-updateitem-ews-call-from-mail-addin