2014-09-10 119 views
3

的项目我正在从微软的Exchange此错误消息:的Exchange Web服务列出文件夹

的EWS编号是未通过您的请求指定的Exchange版本支持EwsLegacyId格式。请使用ConvertId方法将ID从EwsId转换为EwsLegacyId格式。

响应以下SOAP请求:

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" 
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Header> 

</soap:Header> 
<soap:Body> 
    <m:FindItem Traversal="Shallow"> 
     <m:ItemShape> 
      <t:BaseShape>Default</t:BaseShape> 
      <!-- 
      <t:AdditionalProperties> 
       <t:FieldURI FieldURI="item:TextBody" /> 
       <t:FieldURI FieldURI="item:Body" /> 

      </t:AdditionalProperties> 
      --> 
     </m:ItemShape> 
     <m:IndexedPageItemView MaxEntriesReturned="100" Offset="0" BasePoint="Beginning" /> 
     <m:ParentFolderIds> 
      <t:FolderId Id="AQMkAGEzZTIzOWNmLWFiMGUtNDg5NC05NzNlLTUxN2FmNGQ3ZjIxMQAALgAAA95uXloT2IJPlNaCGuwj8ycBAObfRJ+1FF9PkWpl8+aNmhoAAAIBDAAAAA==" ChangeKey="AQAAABYAAADm30SftRRfT5FqZfPmjZoaAAAPjzNZ" /> 
     </m:ParentFolderIds> 
    </m:FindItem> 
</soap:Body> 

我从以前FindFolder操作,其中列出文件夹层次得到了文件夹ID。

如何解决这个问题?

+0

嘿,你有没有找到任何解决方案。我收到了同样的错误。 :( – Ankush 2016-12-16 09:45:21

回答

0

您需要添加

<t:RequestServerVersion Version="Exchange2007_SP1" /> 

您的标记之间。版本可以是这里定义的任何版本:EWS schema versions in Exchange

但是,一旦你得到那个过去的错误,你会得到另一个试图请求该项目:TextBody和项目:身体。要获得消息的正文,您需要发送一个GetItem操作,该操作包含要绑定的项目的ItemId(即get)。

请参阅此页获取更多信息:How to: Work with Exchange mailbox items by using EWS

2

我也有同样的问题。

在标题中添加了RequestServerVersion。这解决了问题。

' <soap:Header>' + 
    ' <RequestServerVersion Version="Exchange2013" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" soap:mustUnderstand="0" />' + 
    ' </soap:Header>' + 
相关问题