hotshotiguana
hotshotiguana

Reputation: 1560

EWS - Retrieve Required Attendees from GetUserAvailability

I'm trying to retrieve the RequiredAttendees property of an Appointment, but the Appointment.ID returned from the GetUserAvailabilityRequest appears to be malformed.

I say it appears to be malformed because I have attempted to do an Appointment.Bind on that ID and I receive that error. I also tried doing a ConvertIdRequest, but that also informed me that the ID was malformed. Has anyone been successful in retrieving additional properties from an Appointment in the GetUserAvailabilityRequest function?

<m:GetUserAvailabilityRequest>
    <m:MailboxDataArray>
        <t:MailboxData>
            <t:Email>
                <t:Address>[email protected]</t:Address>
            </t:Email>
            <t:AttendeeType>Required</t:AttendeeType>
            <t:ExcludeConflicts>false</t:ExcludeConflicts>
        </t:MailboxData>
    </m:MailboxDataArray>
    <t:FreeBusyViewOptions>
        <t:TimeWindow>
            <t:StartTime>2016-11-23T00:00:00</t:StartTime>
            <t:EndTime>2016-11-23T23:59:59</t:EndTime>
        </t:TimeWindow>
        <t:MergedFreeBusyIntervalInMinutes>30</t:MergedFreeBusyIntervalInMinutes>
        <t:RequestedView>Detailed</t:RequestedView>
    </t:FreeBusyViewOptions>
</m:GetUserAvailabilityRequest>

Updated:

Added in ConvertId request:

<ConvertId xmlns='http://schemas.microsoft.com/exchange/services/2006/messages' xmlns:t='http://schemas.microsoft.com/exchange/services/2006/types' 
    DestinationFormat='EwsId'>
    <SourceIds>
        <t:AlternateId Format='EntryId' Id='00000000816E21AD59E7904981DE99604E0CC83507002DB2B0714B541545B1DA6BDA0C682DFA00000000010D00002DB2B0714B541545B1DA6BDA0C682DFA000039D00A690000' Mailbox='[email protected]' />
    </SourceIds>
</ConvertId>

Upvotes: 0

Views: 204

Answers (1)

Glen Scales
Glen Scales

Reputation: 22032

Your ConvertId request isn't correct your using EntryId which means you should have then base64 encoded the EntryId. What you can do is use HexEntryId format instead which would make your request valid eg the following works okay for me (ConvertId is algorithmic meaning any Exchange server can convert it)

<?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>
      <t:RequestServerVersion Version="Exchange2016" />
    </soap:Header>
    <soap:Body>
      <m:ConvertId DestinationFormat="EwsId">
        <m:SourceIds>
          <t:AlternateId Format="HexEntryId" Id="00000000816E21AD59E7904981DE99604E0CC83507002DB2B0714B541545B1DA6BDA0C682DFA00000000010D00002DB2B0714B541545B1DA6BDA0C682DFA000039D00A690000" Mailbox="[email protected]" />
        </m:SourceIds>
      </m:ConvertId>
    </soap:Body>
  </soap:Envelope>

Upvotes: 1

Related Questions