2016-07-07 8 views
0

ich für ein wenig mehr Details suchen als das, was in dieser Antwort gegeben wurde: Exchange EWS not returning message body for calendarWie EWS für einen Kalender der Nachricht abfragen

Insbesondere bin ich nicht sicher, wie eine Kalender-Nachricht Körper in einer Abfrage erhalten .

Meine XML-Abfrage ist:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Body> 
     <m:FindItem Traversal="Shallow" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
      <m:ItemShape> 
       <t:BaseShape>IdOnly</t:BaseShape> 
       <t:AdditionalProperties> 
        <t:FieldURI FieldURI="item:Body"/> 
        <t:FieldURI FieldURI="calendar:Start"/> 
        <t:FieldURI FieldURI="calendar:End"/> 
        <t:FieldURI FieldURI="calendar:Location"/> 
        <t:FieldURI FieldURI="item:Attachments"/> 
       </t:AdditionalProperties> 
      </m:ItemShape> 
      <m:CalendarView EndDate="2016-07-08T00:00:00Z" MaxEntriesReturned="999999" StartDate="2016-07-07T00:00:00Z"/> 
      <m:ParentFolderIds> 
       <t:DistinguishedFolderId Id="calendar"/> 
      </m:ParentFolderIds> 
     </m:FindItem> 
    </s:Body> 
</s:Envelope> 

Aber ich scheine einen Fehler zu bekommen mit:

<t:FieldURI FieldURI="item:Body"/> 

Fehlermeldung

<?xml version="1.0" encoding="utf-8"?> 
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
    <s:Header> 
    <h:ServerVersionInfo xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MajorVersion="15" MinorVersion="1" MajorBuildNumber="534" MinorBuildNumber="21"/> 
    </s:Header> 
    <s:Body> 
    <m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> 
     <m:ResponseMessages> 
     <m:FindItemResponseMessage ResponseClass="Error"> 
      <m:MessageText>Property is not valid for this operation.</m:MessageText> 
      <m:ResponseCode>ErrorInvalidPropertyForOperation</m:ResponseCode> 
      <m:DescriptiveLinkKey>0</m:DescriptiveLinkKey> 
      <m:MessageXml> 
      <t:FieldURI FieldURI="item:Body"/> 
      </m:MessageXml> 
     </m:FindItemResponseMessage> 
     </m:ResponseMessages> 
    </m:FindItemResponse> 
    </s:Body> 
</s:Envelope> 

Ich habe hier über die API sah :

https://msdn.microsoft.com/en-us/library/office/aa494315(v=exchg.150).aspx

Und ich denke, ich muss etwas Einfaches vermissen. Gibt es eine Möglichkeit, eine bestimmte feldbasierte Abfrage zu verwenden, um einen Kalenderkörper zu erhalten?

Dank

Antwort

0

Der FindItem Betrieb kehrt nicht den Körper, Teilnehmer und andere komplexe/große Eigenschaften https://blogs.msdn.microsoft.com/vikas/2007/07/26/ews-why-does-not-finditem-return-all-the-fields-you-expected/ sehen.

Sie müssen also die ItemId nehmen, die Sie von der FindItem-Anforderung erhalten, und dann entweder eine GetItem-Anforderung https://msdn.microsoft.com/en-us/library/office/aa564509(v=exchg.150).aspx erstellen oder, wenn Sie sie für mehrere Elemente benötigen, die GetItem-Anforderung aus Gründen der Effizienz zusammenstellen.

Verwandte Themen