Menu

#134 Exchange Online Archive support

v4.7.3
closed
nobody
None
5
2023-08-23
2011-09-17
Was DaNou
No

Is it possible to add Exchange 2010 Online Archive support, to the current DavMail version?
If so, how to configure this. If not, will you be having this option in current version updates, despite of your planned roadmap.

Thanks for your reply.

Discussion

1 2 > >> (Page 1 of 2)
  • Mickael Guessant

    It depends; can you access those messages over EWS, e.g. with EWSEditor ?

     
  • Mickael Guessant

    Interesting, that's indeed defined in the doc, but not available on my company server.

    Can you please check DistinguishedFolderIdNameType values on your Exchange server at:
    https://exchange.company.com/ews/types.xsd

    I only have:
    <xs:enumeration value="calendar"/><xs:enumeration value="contacts"/><xs:enumeration value="deleteditems"/><xs:enumeration value="drafts"/><xs:enumeration value="inbox"/><xs:enumeration value="journal"/><xs:enumeration value="notes"/><xs:enumeration value="outbox"/><xs:enumeration value="sentitems"/><xs:enumeration value="tasks"/><xs:enumeration value="msgfolderroot"/><xs:enumeration value="publicfoldersroot"/><xs:enumeration value="root"/><xs:enumeration value="junkemail"/><xs:enumeration value="searchfolders"/><xs:enumeration value="voicemail"/>

     
  • Anonymous

    Anonymous - 2011-10-26

    I've got this:

    <xs:simpleType name="DistinguishedFolderIdNameType"><xs:annotation><xs:documentation>URIs for the distinguished folders accessible from a mailbox</xs:documentation></xs:annotation><xs:restriction base="xs:string"><xs:enumeration value="calendar"/><xs:enumeration value="contacts"/><xs:enumeration value="deleteditems"/><xs:enumeration value="drafts"/><xs:enumeration value="inbox"/><xs:enumeration value="journal"/><xs:enumeration value="notes"/><xs:enumeration value="outbox"/><xs:enumeration value="sentitems"/><xs:enumeration value="tasks"/><xs:enumeration value="msgfolderroot"/><xs:enumeration value="publicfoldersroot"/><xs:enumeration value="root"/><xs:enumeration value="junkemail"/><xs:enumeration value="searchfolders"/><xs:enumeration value="voicemail"/><xs:enumeration value="recoverableitemsroot"/><xs:enumeration value="recoverableitemsdeletions"/><xs:enumeration value="recoverableitemsversions"/><xs:enumeration value="recoverableitemspurges"/><xs:enumeration value="archiveroot"/><xs:enumeration value="archivemsgfolderroot"/><xs:enumeration value="archivedeleteditems"/><xs:enumeration value="archiverecoverableitemsroot"/><xs:enumeration value="archiverecoverableitemsdeletions"/><xs:enumeration value="archiverecoverableitemsversions"/><xs:enumeration value="archiverecoverableitemspurges"/></xs:restriction></xs:simpleType>

     
  • Mickael Guessant

    Ok, added new DistinguishedFolderId value for Exchange archive support in svn trunk
    Unable to test this here though

     
  • Mickael Guessant

     
  • Anonymous

    Anonymous - 2011-10-28

    Done DavMail Gateway 3.9.5-1835-trunk
    I don't see any new folder to subscribe to on Thunderbird, should I change something in davmail.properties?
    I already have davmail.enableEws=true

     
  • Mickael Guessant

    You can try to create a new account with /archive as base server folder or set the public path in advanced IMAP settings to /archive

     
  • Anonymous

    Anonymous - 2011-10-31

    I've got two issues:
    - Thunderbird 3.1.15 doesn't allow to have two accounts with same server and username
    - This error appears in log when I configure /archive as base folder

    2011-10-31 18:14:16,952 DEBUG [ImapConnection-59792] davmail - > 2 BAD unable to handle request: The request is valid but does not specify the correct server version in the RequestServerVersion SOAP header. Ensure that the RequestServerVersion SOAP header is set with the correct RequestServerVersionValue. request: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"><soap:Header><t:RequestServerVersion Version="Exchange2010"/></soap:Header><soap:Body><m:FindFolder Traversal="Shallow"><m:FolderShape><t:BaseShape>IdOnly</t:BaseShape><t:AdditionalProperties><t:ExtendedFieldURI PropertyTag="0x360a" PropertyType="Boolean"/><t:ExtendedFieldURI PropertyTag="0x670a" PropertyType="SystemTime"/><t:FieldURI FieldURI="folder:DisplayName"/><t:ExtendedFieldURI PropertyTag="0x6752" PropertyType="Integer"/><t:ExtendedFieldURI PropertyTag="0x3008" PropertyType="SystemTime"/><t:ExtendedFieldURI PropertyTag="0x6751" PropertyType="Integer"/><t:ExtendedFieldURI PropertyTag="0x10f3" PropertyType="String"/><t:ExtendedFieldURI PropertyTag="0x3613" PropertyType="String"/><t:ExtendedFieldURI PropertyTag="0x3603" PropertyType="Integer"/></t:AdditionalProperties></m:FolderShape><m:Restriction><t:Or><t:IsEqualTo><t:ExtendedFieldURI PropertyTag="0x3613" PropertyType="String"/><t:FieldURIOrConstant><t:Constant Value="IPF.Note"/></t:FieldURIOrConstant></t:IsEqualTo><t:Not><t:Exists><t:ExtendedFieldURI PropertyTag="0x3613" PropertyType="String"/></t:Exists></t:Not></t:Or></m:Restriction><m:ParentFolderIds><t:DistinguishedFolderId Id="archiveroot"/></m:ParentFolderIds></m:FindFolder></soap:Body></soap:Envelope>

     

    Last edit: Anonymous 2017-01-11
  • Mickael Guessant

    Makes sense:
    The request is valid but does not specify the
    correct server version in the RequestServerVersion SOAP header

    => the archive root is not available on Exchange 2010, maybe a service pack ?

    Can you please provide a full wsdl file from /ews/exchange.asmx ?

     
  • Anonymous

    Anonymous - 2011-11-02

    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:s="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
    <wsdl:types>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://schemas.microsoft.com/exchange/services/2006/messages" schemaLocation="messages.xsd"/>
    </xs:schema>
    </wsdl:types>
    <wsdl:message name="UploadItemsSoapIn">
    <wsdl:part name="request" element="tns:UploadItems"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="UploadItemsSoapOut">
    <wsdl:part name="UploadItemsResult" element="tns:UploadItemsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="ExportItemsSoapIn">
    <wsdl:part name="request" element="tns:ExportItems"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="ExportItemsSoapOut">
    <wsdl:part name="ExportItemsResult" element="tns:ExportItemsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="ConvertIdSoapIn">
    <wsdl:part name="request" element="tns:ConvertId"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="ConvertIdSoapOut">
    <wsdl:part name="ConvertIdResult" element="tns:ConvertIdResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetFolderSoapIn">
    <wsdl:part name="request" element="tns:GetFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="GetFolderSoapOut">
    <wsdl:part name="GetFolderResult" element="tns:GetFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CreateFolderSoapIn">
    <wsdl:part name="request" element="tns:CreateFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="CreateFolderSoapOut">
    <wsdl:part name="CreateFolderResult" element="tns:CreateFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CreateManagedFolderSoapIn">
    <wsdl:part name="request" element="tns:CreateManagedFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="CreateManagedFolderSoapOut">
    <wsdl:part name="CreateManagedFolderResult" element="tns:CreateManagedFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="DeleteFolderSoapIn">
    <wsdl:part name="request" element="tns:DeleteFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="DeleteFolderSoapOut">
    <wsdl:part name="DeleteFolderResult" element="tns:DeleteFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="EmptyFolderSoapIn">
    <wsdl:part name="request" element="tns:EmptyFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="EmptyFolderSoapOut">
    <wsdl:part name="EmptyFolderResult" element="tns:EmptyFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="UpdateFolderSoapIn">
    <wsdl:part name="request" element="tns:UpdateFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="UpdateFolderSoapOut">
    <wsdl:part name="UpdateFolderResult" element="tns:UpdateFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="MoveFolderSoapIn">
    <wsdl:part name="request" element="tns:MoveFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="MoveFolderSoapOut">
    <wsdl:part name="MoveFolderResult" element="tns:MoveFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CopyFolderSoapIn">
    <wsdl:part name="request" element="tns:CopyFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="CopyFolderSoapOut">
    <wsdl:part name="CopyFolderResult" element="tns:CopyFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="FindFolderSoapIn">
    <wsdl:part name="request" element="tns:FindFolder"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="FindFolderSoapOut">
    <wsdl:part name="FindFolderResult" element="tns:FindFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetItemSoapIn">
    <wsdl:part name="request" element="tns:GetItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="GetItemSoapOut">
    <wsdl:part name="GetItemResult" element="tns:GetItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CreateItemSoapIn">
    <wsdl:part name="request" element="tns:CreateItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="CreateItemSoapOut">
    <wsdl:part name="CreateItemResult" element="tns:CreateItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="DeleteItemSoapIn">
    <wsdl:part name="request" element="tns:DeleteItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="DeleteItemSoapOut">
    <wsdl:part name="DeleteItemResult" element="tns:DeleteItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="UpdateItemSoapIn">
    <wsdl:part name="request" element="tns:UpdateItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="UpdateItemSoapOut">
    <wsdl:part name="UpdateItemResult" element="tns:UpdateItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="SendItemSoapIn">
    <wsdl:part name="request" element="tns:SendItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="SendItemSoapOut">
    <wsdl:part name="SendItemResult" element="tns:SendItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="MoveItemSoapIn">
    <wsdl:part name="request" element="tns:MoveItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="MoveItemSoapOut">
    <wsdl:part name="MoveItemResult" element="tns:MoveItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CopyItemSoapIn">
    <wsdl:part name="request" element="tns:CopyItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="CopyItemSoapOut">
    <wsdl:part name="CopyItemResult" element="tns:CopyItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="CreateAttachmentSoapIn">
    <wsdl:part name="request" element="tns:CreateAttachment"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="CreateAttachmentSoapOut">
    <wsdl:part name="CreateAttachmentResult" element="tns:CreateAttachmentResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="DeleteAttachmentSoapIn">
    <wsdl:part name="request" element="tns:DeleteAttachment"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="DeleteAttachmentSoapOut">
    <wsdl:part name="DeleteAttachmentResult" element="tns:DeleteAttachmentResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetAttachmentSoapIn">
    <wsdl:part name="request" element="tns:GetAttachment"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="GetAttachmentSoapOut">
    <wsdl:part name="GetAttachmentResult" element="tns:GetAttachmentResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="ResolveNamesSoapIn">
    <wsdl:part name="request" element="tns:ResolveNames"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="ResolveNamesSoapOut">
    <wsdl:part name="ResolveNamesResult" element="tns:ResolveNamesResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="ExpandDLSoapIn">
    <wsdl:part name="request" element="tns:ExpandDL"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="ExpandDLSoapOut">
    <wsdl:part name="ExpandDLResult" element="tns:ExpandDLResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetServerTimeZonesSoapIn">
    <wsdl:part name="request" element="tns:GetServerTimeZones"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetServerTimeZonesSoapOut">
    <wsdl:part name="GetServerTimeZonesResult" element="tns:GetServerTimeZonesResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="FindItemSoapIn">
    <wsdl:part name="request" element="tns:FindItem"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="FindItemSoapOut">
    <wsdl:part name="FindItemResult" element="tns:FindItemResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="SubscribeSoapIn">
    <wsdl:part name="request" element="tns:Subscribe"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="SubscribeSoapOut">
    <wsdl:part name="SubscribeResult" element="tns:SubscribeResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="UnsubscribeSoapIn">
    <wsdl:part name="request" element="tns:Unsubscribe"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="UnsubscribeSoapOut">
    <wsdl:part name="UnsubscribeResult" element="tns:UnsubscribeResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetEventsSoapIn">
    <wsdl:part name="request" element="tns:GetEvents"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetEventsSoapOut">
    <wsdl:part name="GetEventsResult" element="tns:GetEventsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetStreamingEventsSoapIn">
    <wsdl:part name="request" element="tns:GetStreamingEvents"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetStreamingEventsSoapOut">
    <wsdl:part name="GetStreamingEventsResult" element="tns:GetStreamingEventsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="SyncFolderHierarchySoapIn">
    <wsdl:part name="request" element="tns:SyncFolderHierarchy"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="SyncFolderHierarchySoapOut">
    <wsdl:part name="SyncFolderHierarchyResult" element="tns:SyncFolderHierarchyResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="SyncFolderItemsSoapIn">
    <wsdl:part name="request" element="tns:SyncFolderItems"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="SyncFolderItemsSoapOut">
    <wsdl:part name="SyncFolderItemsResult" element="tns:SyncFolderItemsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="GetDelegateSoapIn">
    <wsdl:part name="request" element="tns:GetDelegate"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetDelegateSoapOut">
    <wsdl:part name="GetDelegateResult" element="tns:GetDelegateResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="AddDelegateSoapIn">
    <wsdl:part name="request" element="tns:AddDelegate"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="AddDelegateSoapOut">
    <wsdl:part name="AddDelegateResult" element="tns:AddDelegateResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="RemoveDelegateSoapIn">
    <wsdl:part name="request" element="tns:RemoveDelegate"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="RemoveDelegateSoapOut">
    <wsdl:part name="RemoveDelegateResult" element="tns:RemoveDelegateResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="UpdateDelegateSoapIn">
    <wsdl:part name="request" element="tns:UpdateDelegate"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="UpdateDelegateSoapOut">
    <wsdl:part name="UpdateDelegateResult" element="tns:UpdateDelegateResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="CreateUserConfigurationSoapIn">
    <wsdl:part name="request" element="tns:CreateUserConfiguration"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="CreateUserConfigurationSoapOut">
    <wsdl:part name="CreateUserConfigurationResult" element="tns:CreateUserConfigurationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="DeleteUserConfigurationSoapIn">
    <wsdl:part name="request" element="tns:DeleteUserConfiguration"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="DeleteUserConfigurationSoapOut">
    <wsdl:part name="DeleteUserConfigurationResult" element="tns:DeleteUserConfigurationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetUserConfigurationSoapIn">
    <wsdl:part name="request" element="tns:GetUserConfiguration"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetUserConfigurationSoapOut">
    <wsdl:part name="GetUserConfigurationResult" element="tns:GetUserConfigurationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="UpdateUserConfigurationSoapIn">
    <wsdl:part name="request" element="tns:UpdateUserConfiguration"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="UpdateUserConfigurationSoapOut">
    <wsdl:part name="UpdateUserConfigurationResult" element="tns:UpdateUserConfigurationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- Availability Service messages -->
    <wsdl:message name="GetUserAvailabilitySoapIn">
    <wsdl:part name="GetUserAvailabilityRequest" element="tns:GetUserAvailabilityRequest"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetUserAvailabilitySoapOut">
    <wsdl:part name="GetUserAvailabilityResult" element="tns:GetUserAvailabilityResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="GetUserOofSettingsSoapIn">
    <wsdl:part name="GetUserOofSettingsRequest" element="tns:GetUserOofSettingsRequest"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    </wsdl:message>
    <wsdl:message name="GetUserOofSettingsSoapOut">
    <wsdl:part name="GetUserOofSettingsResult" element="tns:GetUserOofSettingsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>
    <wsdl:message name="SetUserOofSettingsSoapIn">
    <wsdl:part name="SetUserOofSettingsRequest" element="tns:SetUserOofSettingsRequest"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    </wsdl:message>
    <wsdl:message name="SetUserOofSettingsSoapOut">
    <wsdl:part name="SetUserOofSettingsResult" element="tns:SetUserOofSettingsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- MailTips Messages -->
    <wsdl:message name="GetMailTipsSoapIn">
    <wsdl:part name="request" element="tns:GetMailTips"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    </wsdl:message>
    <wsdl:message name="GetMailTipsSoapOut">
    <wsdl:part name="GetMailTipsResult" element="tns:GetMailTipsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- UM Messages -->
    <wsdl:message name="PlayOnPhoneSoapIn">
    <wsdl:part name="request" element="tns:PlayOnPhone"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="PlayOnPhoneSoapOut">
    <wsdl:part name="PlayOnPhoneResult" element="tns:PlayOnPhoneResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="GetPhoneCallInformationSoapIn">
    <wsdl:part name="request" element="tns:GetPhoneCallInformation"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetPhoneCallInformationSoapOut">
    <wsdl:part name="GetPhoneCallInformationResult" element="tns:GetPhoneCallInformationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="DisconnectPhoneCallSoapIn">
    <wsdl:part name="request" element="tns:DisconnectPhoneCall"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="DisconnectPhoneCallSoapOut">
    <wsdl:part name="DisconnectPhoneCallResult" element="tns:DisconnectPhoneCallResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- Sharing Messages -->
    <wsdl:message name="GetSharingMetadataSoapIn">
    <wsdl:part name="request" element="tns:GetSharingMetadata"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetSharingMetadataSoapOut">
    <wsdl:part name="GetSharingMetadataResult" element="tns:GetSharingMetadataResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="RefreshSharingFolderSoapIn">
    <wsdl:part name="request" element="tns:RefreshSharingFolder"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="RefreshSharingFolderSoapOut">
    <wsdl:part name="RefreshSharingFolderResult" element="tns:RefreshSharingFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="GetSharingFolderSoapIn">
    <wsdl:part name="request" element="tns:GetSharingFolder"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetSharingFolderSoapOut">
    <wsdl:part name="GetSharingFolderResult" element="tns:GetSharingFolderResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- Find A Room Service Messages -->

    <!-- GetRoomLists Service Messages -->
    <wsdl:message name="GetRoomListsSoapIn">
    <wsdl:part name="GetRoomListsRequest" element="tns:GetRoomLists"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>

    <wsdl:message name="GetRoomListsSoapOut">
    <wsdl:part name="GetRoomListsResult" element="tns:GetRoomListsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- GetRooms Service Messages -->
    <wsdl:message name="GetRoomsSoapIn">
    <wsdl:part name="GetRoomsRequest" element="tns:GetRooms"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>

    <wsdl:message name="GetRoomsSoapOut">
    <wsdl:part name="GetRoomsResult" element="tns:GetRoomsResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- GetServiceConfiguration Messages -->
    <wsdl:message name="GetServiceConfigurationSoapIn">
    <wsdl:part name="request" element="tns:GetServiceConfiguration"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    </wsdl:message>
    <wsdl:message name="GetServiceConfigurationSoapOut">
    <wsdl:part name="GetServiceConfigurationResult" element="tns:GetServiceConfigurationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- MessageTracking Messages -->
    <wsdl:message name="FindMessageTrackingReportSoapIn">
    <wsdl:part name="request" element="tns:FindMessageTrackingReport"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="FindMessageTrackingReportSoapOut">
    <wsdl:part name="FindMessageTrackingReportResult" element="tns:FindMessageTrackingReportResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="GetMessageTrackingReportSoapIn">
    <wsdl:part name="request" element="tns:GetMessageTrackingReport"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="GetMessageTrackingReportSoapOut">
    <wsdl:part name="GetMessageTrackingReportResult" element="tns:GetMessageTrackingReportResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- Conversation Messages-->
    <wsdl:message name="FindConversationSoapIn">
    <wsdl:part name="request" element="tns:FindConversation"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="FindConversationSoapOut">
    <wsdl:part name="FindConversationResult" element="tns:FindConversationResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="ApplyConversationActionSoapIn">
    <wsdl:part name="request" element="tns:ApplyConversationAction"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    </wsdl:message>
    <wsdl:message name="ApplyConversationActionSoapOut">
    <wsdl:part name="ApplyConversationActionResult" element="tns:ApplyConversationActionResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <!-- Inbox Rules Messages -->
    <wsdl:message name="GetInboxRulesSoapIn">
    <wsdl:part name="request" element="tns:GetInboxRules"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="GetInboxRulesSoapOut">
    <wsdl:part name="GetInboxRulesResult" element="tns:GetInboxRulesResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:message name="UpdateInboxRulesSoapIn">
    <wsdl:part name="request" element="tns:UpdateInboxRules"/>
    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
    <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
    <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
    <wsdl:part name="TimeZoneContext" element="t:TimeZoneContext"/>
    </wsdl:message>
    <wsdl:message name="UpdateInboxRulesSoapOut">
    <wsdl:part name="UpdateInboxRulesResult" element="tns:UpdateInboxRulesResponse"/>
    <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
    </wsdl:message>

    <wsdl:portType name="ExchangeServicePortType">
    <wsdl:operation name="ResolveNames">
    <wsdl:input message="tns:ResolveNamesSoapIn"/>
    <wsdl:output message="tns:ResolveNamesSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="ExpandDL">
    <wsdl:input message="tns:ExpandDLSoapIn"/>
    <wsdl:output message="tns:ExpandDLSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetServerTimeZones">
    <wsdl:input message="tns:GetServerTimeZonesSoapIn"/>
    <wsdl:output message="tns:GetServerTimeZonesSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="FindFolder">
    <wsdl:input message="tns:FindFolderSoapIn"/>
    <wsdl:output message="tns:FindFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="FindItem">
    <wsdl:input message="tns:FindItemSoapIn"/>
    <wsdl:output message="tns:FindItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetFolder">
    <wsdl:input message="tns:GetFolderSoapIn"/>
    <wsdl:output message="tns:GetFolderSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="UploadItems">
    <wsdl:input message="tns:UploadItemsSoapIn"/>
    <wsdl:output message="tns:UploadItemsSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="ExportItems">
    <wsdl:input message="tns:ExportItemsSoapIn"/>
    <wsdl:output message="tns:ExportItemsSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="ConvertId">
    <wsdl:input message="tns:ConvertIdSoapIn"/>
    <wsdl:output message="tns:ConvertIdSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="CreateFolder">
    <wsdl:input message="tns:CreateFolderSoapIn"/>
    <wsdl:output message="tns:CreateFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="DeleteFolder">
    <wsdl:input message="tns:DeleteFolderSoapIn"/>
    <wsdl:output message="tns:DeleteFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="EmptyFolder">
    <wsdl:input message="tns:EmptyFolderSoapIn"/>
    <wsdl:output message="tns:EmptyFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="UpdateFolder">
    <wsdl:input message="tns:UpdateFolderSoapIn"/>
    <wsdl:output message="tns:UpdateFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="MoveFolder">
    <wsdl:input message="tns:MoveFolderSoapIn"/>
    <wsdl:output message="tns:MoveFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="CopyFolder">
    <wsdl:input message="tns:CopyFolderSoapIn"/>
    <wsdl:output message="tns:CopyFolderSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="Subscribe">
    <wsdl:input message="tns:SubscribeSoapIn"/>
    <wsdl:output message="tns:SubscribeSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="Unsubscribe">
    <wsdl:input message="tns:UnsubscribeSoapIn"/>
    <wsdl:output message="tns:UnsubscribeSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetEvents">
    <wsdl:input message="tns:GetEventsSoapIn"/>
    <wsdl:output message="tns:GetEventsSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetStreamingEvents">
    <wsdl:input message="tns:GetStreamingEventsSoapIn"/>
    <wsdl:output message="tns:GetStreamingEventsSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="SyncFolderHierarchy">
    <wsdl:input message="tns:SyncFolderHierarchySoapIn"/>
    <wsdl:output message="tns:SyncFolderHierarchySoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="SyncFolderItems">
    <wsdl:input message="tns:SyncFolderItemsSoapIn"/>
    <wsdl:output message="tns:SyncFolderItemsSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="CreateManagedFolder">
    <wsdl:input message="tns:CreateManagedFolderSoapIn"/>
    <wsdl:output message="tns:CreateManagedFolderSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="GetItem">
    <wsdl:input message="tns:GetItemSoapIn"/>
    <wsdl:output message="tns:GetItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="CreateItem">
    <wsdl:input message="tns:CreateItemSoapIn"/>
    <wsdl:output message="tns:CreateItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="DeleteItem">
    <wsdl:input message="tns:DeleteItemSoapIn"/>
    <wsdl:output message="tns:DeleteItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="UpdateItem">
    <wsdl:input message="tns:UpdateItemSoapIn"/>
    <wsdl:output message="tns:UpdateItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="SendItem">
    <wsdl:input message="tns:SendItemSoapIn"/>
    <wsdl:output message="tns:SendItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="MoveItem">
    <wsdl:input message="tns:MoveItemSoapIn"/>
    <wsdl:output message="tns:MoveItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="CopyItem">
    <wsdl:input message="tns:CopyItemSoapIn"/>
    <wsdl:output message="tns:CopyItemSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="CreateAttachment">
    <wsdl:input message="tns:CreateAttachmentSoapIn"/>
    <wsdl:output message="tns:CreateAttachmentSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="DeleteAttachment">
    <wsdl:input message="tns:DeleteAttachmentSoapIn"/>
    <wsdl:output message="tns:DeleteAttachmentSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetAttachment">
    <wsdl:input message="tns:GetAttachmentSoapIn"/>
    <wsdl:output message="tns:GetAttachmentSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetDelegate">
    <wsdl:input message="tns:GetDelegateSoapIn"/>
    <wsdl:output message="tns:GetDelegateSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="AddDelegate">
    <wsdl:input message="tns:AddDelegateSoapIn"/>
    <wsdl:output message="tns:AddDelegateSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="RemoveDelegate">
    <wsdl:input message="tns:RemoveDelegateSoapIn"/>
    <wsdl:output message="tns:RemoveDelegateSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="UpdateDelegate">
    <wsdl:input message="tns:UpdateDelegateSoapIn"/>
    <wsdl:output message="tns:UpdateDelegateSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="CreateUserConfiguration">
    <wsdl:input message="tns:CreateUserConfigurationSoapIn"/>
    <wsdl:output message="tns:CreateUserConfigurationSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="DeleteUserConfiguration">
    <wsdl:input message="tns:DeleteUserConfigurationSoapIn"/>
    <wsdl:output message="tns:DeleteUserConfigurationSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="GetUserConfiguration">
    <wsdl:input message="tns:GetUserConfigurationSoapIn"/>
    <wsdl:output message="tns:GetUserConfigurationSoapOut"/>
    </wsdl:operation>
    <wsdl:operation name="UpdateUserConfiguration">
    <wsdl:input message="tns:UpdateUserConfigurationSoapIn"/>
    <wsdl:output message="tns:UpdateUserConfigurationSoapOut"/>
    </wsdl:operation>

    <!-- Availability Service Operations -->

    <!-- GetUserAvailability -->
    <wsdl:operation name="GetUserAvailability">
    <wsdl:input message="tns:GetUserAvailabilitySoapIn"/>
    <wsdl:output message="tns:GetUserAvailabilitySoapOut"/>
    </wsdl:operation>

    <!-- GetUserOofSettings -->
    <wsdl:operation name="GetUserOofSettings">
    <wsdl:input message="tns:GetUserOofSettingsSoapIn"/>
    <wsdl:output message="tns:GetUserOofSettingsSoapOut"/>
    </wsdl:operation>

    <!-- SetUserOofSettings -->
    <wsdl:operation name="SetUserOofSettings">
    <wsdl:input message="tns:SetUserOofSettingsSoapIn"/>
    <wsdl:output message="tns:SetUserOofSettingsSoapOut"/>
    </wsdl:operation>

    <!-- GetServiceConfiguration Operations -->
    <wsdl:operation name="GetServiceConfiguration">
    <wsdl:input message="tns:GetServiceConfigurationSoapIn"/>
    <wsdl:output message="tns:GetServiceConfigurationSoapOut"/>
    </wsdl:operation>

    <!-- MailTips Operations -->
    <wsdl:operation name="GetMailTips">
    <wsdl:input message="tns:GetMailTipsSoapIn"/>
    <wsdl:output message="tns:GetMailTipsSoapOut"/>
    </wsdl:operation>

    <!-- UM Operations -->
    <wsdl:operation name="PlayOnPhone">
    <wsdl:input message="tns:PlayOnPhoneSoapIn"/>
    <wsdl:output message="tns:PlayOnPhoneSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="GetPhoneCallInformation">
    <wsdl:input message="tns:GetPhoneCallInformationSoapIn"/>
    <wsdl:output message="tns:GetPhoneCallInformationSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="DisconnectPhoneCall">
    <wsdl:input message="tns:DisconnectPhoneCallSoapIn"/>
    <wsdl:output message="tns:DisconnectPhoneCallSoapOut"/>
    </wsdl:operation>

    <!-- Sharing Operations -->
    <wsdl:operation name="GetSharingMetadata">
    <wsdl:input message="tns:GetSharingMetadataSoapIn"/>
    <wsdl:output message="tns:GetSharingMetadataSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="RefreshSharingFolder">
    <wsdl:input message="tns:RefreshSharingFolderSoapIn"/>
    <wsdl:output message="tns:RefreshSharingFolderSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="GetSharingFolder">
    <wsdl:input message="tns:GetSharingFolderSoapIn"/>
    <wsdl:output message="tns:GetSharingFolderSoapOut"/>
    </wsdl:operation>

    <!-- Find A Room Service Operations -->

    <!-- GetRoomLists -->
    <wsdl:operation name="GetRoomLists">
    <wsdl:input message="tns:GetRoomListsSoapIn"/>
    <wsdl:output message="tns:GetRoomListsSoapOut"/>
    </wsdl:operation>

    <!-- GetRooms -->
    <wsdl:operation name="GetRooms">
    <wsdl:input message="tns:GetRoomsSoapIn"/>
    <wsdl:output message="tns:GetRoomsSoapOut"/>
    </wsdl:operation>

    <!-- MessageTracking -->
    <wsdl:operation name="FindMessageTrackingReport">
    <wsdl:input message="tns:FindMessageTrackingReportSoapIn"/>
    <wsdl:output message="tns:FindMessageTrackingReportSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="GetMessageTrackingReport">
    <wsdl:input message="tns:GetMessageTrackingReportSoapIn"/>
    <wsdl:output message="tns:GetMessageTrackingReportSoapOut"/>
    </wsdl:operation>

    <!--Conversations-->
    <wsdl:operation name="FindConversation">
    <wsdl:input message="tns:FindConversationSoapIn"/>
    <wsdl:output message="tns:FindConversationSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="ApplyConversationAction">
    <wsdl:input message="tns:ApplyConversationActionSoapIn"/>
    <wsdl:output message="tns:ApplyConversationActionSoapOut"/>
    </wsdl:operation>

    <!-- Inbox Rules -->
    <wsdl:operation name="GetInboxRules">
    <wsdl:input message="tns:GetInboxRulesSoapIn"/>
    <wsdl:output message="tns:GetInboxRulesSoapOut"/>
    </wsdl:operation>

    <wsdl:operation name="UpdateInboxRules">
    <wsdl:input message="tns:UpdateInboxRulesSoapIn"/>
    <wsdl:output message="tns:UpdateInboxRulesSoapOut"/>
    </wsdl:operation>

    </wsdl:portType>

    <wsdl:binding name="ExchangeServiceBinding" type="tns:ExchangeServicePortType">
    <wsdl:documentation>
    <wsi:Claim conformsTo="http://ws-i.org/profiles/basic/1.0" xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"/>
    </wsdl:documentation>
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <wsdl:operation name="ResolveNames">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ResolveNames"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:ResolveNamesSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:ResolveNamesSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:ResolveNamesSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="ResolveNamesResult" use="literal"/>
    <soap:header message="tns:ResolveNamesSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ExpandDL">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ExpandDL"/>
    <wsdl:input>
    <soap:header message="tns:ExpandDLSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:ExpandDLSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:ExpandDLSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="ExpandDLResult" use="literal"/>
    <soap:header message="tns:ExpandDLSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetServerTimeZones">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetServerTimeZones"/>
    <wsdl:input>
    <soap:header message="tns:GetServerTimeZonesSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetServerTimeZonesSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetServerTimeZonesResult" use="literal"/>
    <soap:header message="tns:GetServerTimeZonesSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="FindFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/FindFolder"/>
    <wsdl:input>
    <soap:header message="tns:FindFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:FindFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:FindFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:FindFolderSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="FindFolderResult" use="literal"/>
    <soap:header message="tns:FindFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="FindItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/FindItem"/>
    <wsdl:input>
    <soap:header message="tns:FindItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:FindItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:FindItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:FindItemSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="FindItemResult" use="literal"/>
    <soap:header message="tns:FindItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetFolder"/>
    <wsdl:input>
    <soap:header message="tns:GetFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetFolderSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetFolderResult" use="literal"/>
    <soap:header message="tns:GetFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ConvertId">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ConvertId"/>
    <wsdl:input>
    <soap:header message="tns:ConvertIdSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:ConvertIdSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="ConvertIdResult" use="literal"/>
    <soap:header message="tns:ConvertIdSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="UploadItems">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UploadItems"/>
    <wsdl:input>
    <soap:header message="tns:UploadItemsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UploadItemsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UploadItemsSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UploadItemsResult" use="literal"/>
    <soap:header message="tns:UploadItemsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="ExportItems">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ExportItems"/>
    <wsdl:input>
    <soap:header message="tns:ExportItemsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:ExportItemsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:ExportItemsSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="ExportItemsResult" use="literal"/>
    <soap:header message="tns:ExportItemsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="CreateFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CreateFolder"/>
    <wsdl:input>
    <soap:header message="tns:CreateFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CreateFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CreateFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:CreateFolderSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CreateFolderResult" use="literal"/>
    <soap:header message="tns:CreateFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/DeleteFolder"/>
    <wsdl:input>
    <soap:header message="tns:DeleteFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:DeleteFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:DeleteFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="DeleteFolderResult" use="literal"/>
    <soap:header message="tns:DeleteFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="EmptyFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/EmptyFolder"/>
    <wsdl:input>
    <soap:header message="tns:EmptyFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:EmptyFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:EmptyFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="EmptyFolderResult" use="literal"/>
    <soap:header message="tns:EmptyFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UpdateFolder"/>
    <wsdl:input>
    <soap:header message="tns:UpdateFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UpdateFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UpdateFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:UpdateFolderSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UpdateFolderResult" use="literal"/>
    <soap:header message="tns:UpdateFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MoveFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/MoveFolder"/>
    <wsdl:input>
    <soap:header message="tns:MoveFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:MoveFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:MoveFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="MoveFolderResult" use="literal"/>
    <soap:header message="tns:MoveFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CopyFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CopyFolder"/>
    <wsdl:input>
    <soap:header message="tns:CopyFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CopyFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CopyFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CopyFolderResult" use="literal"/>
    <soap:header message="tns:CopyFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Subscribe">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/Subscribe"/>
    <wsdl:input>
    <soap:header message="tns:SubscribeSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:SubscribeSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:SubscribeSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="SubscribeResult" use="literal"/>
    <soap:header message="tns:SubscribeSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Unsubscribe">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/Unsubscribe"/>
    <wsdl:input>
    <soap:header message="tns:UnsubscribeSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UnsubscribeSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UnsubscribeSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UnsubscribeResult" use="literal"/>
    <soap:header message="tns:UnsubscribeSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetEvents">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetEvents"/>
    <wsdl:input>
    <soap:header message="tns:GetEventsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetEventsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetEventsSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetEventsResult" use="literal"/>
    <soap:header message="tns:GetEventsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetStreamingEvents">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetEvents"/>
    <wsdl:input>
    <soap:header message="tns:GetStreamingEventsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetStreamingEventsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetStreamingEventsSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetStreamingEventsResult" use="literal"/>
    <soap:header message="tns:GetStreamingEventsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SyncFolderHierarchy">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SyncFolderHierarchy"/>
    <wsdl:input>
    <soap:header message="tns:SyncFolderHierarchySoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:SyncFolderHierarchySoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:SyncFolderHierarchySoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="SyncFolderHierarchyResult" use="literal"/>
    <soap:header message="tns:SyncFolderHierarchySoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SyncFolderItems">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SyncFolderItems"/>
    <wsdl:input>
    <soap:header message="tns:SyncFolderItemsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:SyncFolderItemsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:SyncFolderItemsSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="SyncFolderItemsResult" use="literal"/>
    <soap:header message="tns:SyncFolderItemsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetItem"/>
    <wsdl:input>
    <soap:header message="tns:GetItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetItemSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetItemResult" use="literal"/>
    <soap:header message="tns:GetItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CreateItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CreateItem"/>
    <wsdl:input>
    <soap:header message="tns:CreateItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CreateItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CreateItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:CreateItemSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CreateItemResult" use="literal"/>
    <soap:header message="tns:CreateItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/DeleteItem"/>
    <wsdl:input>
    <soap:header message="tns:DeleteItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:DeleteItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:DeleteItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="DeleteItemResult" use="literal"/>
    <soap:header message="tns:DeleteItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="UpdateItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UpdateItem"/>
    <wsdl:input>
    <soap:header message="tns:UpdateItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UpdateItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UpdateItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:UpdateItemSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UpdateItemResult" use="literal"/>
    <soap:header message="tns:UpdateItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="SendItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SendItem"/>
    <wsdl:input>
    <soap:header message="tns:SendItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:SendItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:SendItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="SendItemResult" use="literal"/>
    <soap:header message="tns:SendItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="MoveItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/MoveItem"/>
    <wsdl:input>
    <soap:header message="tns:MoveItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:MoveItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:MoveItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="MoveItemResult" use="literal"/>
    <soap:header message="tns:MoveItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CopyItem">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CopyItem"/>
    <wsdl:input>
    <soap:header message="tns:CopyItemSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CopyItemSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CopyItemSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CopyItemResult" use="literal"/>
    <soap:header message="tns:CopyItemSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CreateAttachment">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CreateAttachment"/>
    <wsdl:input>
    <soap:header message="tns:CreateAttachmentSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CreateAttachmentSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CreateAttachmentSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:CreateAttachmentSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CreateAttachmentResult" use="literal"/>
    <soap:header message="tns:CreateAttachmentSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="DeleteAttachment">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/DeleteAttachment"/>
    <wsdl:input>
    <soap:header message="tns:DeleteAttachmentSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:DeleteAttachmentSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:DeleteAttachmentSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="DeleteAttachmentResult" use="literal"/>
    <soap:header message="tns:DeleteAttachmentSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetAttachment">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetAttachment"/>
    <wsdl:input>
    <soap:header message="tns:GetAttachmentSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetAttachmentSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetAttachmentSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetAttachmentSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetAttachmentResult" use="literal"/>
    <soap:header message="tns:GetAttachmentSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="CreateManagedFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CreateManagedFolder"/>
    <wsdl:input>
    <soap:header message="tns:CreateManagedFolderSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CreateManagedFolderSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CreateManagedFolderSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CreateManagedFolderResult" use="literal"/>
    <soap:header message="tns:CreateManagedFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetDelegate">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetDelegate"/>
    <wsdl:input>
    <soap:header message="tns:GetDelegateSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetDelegateSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetDelegateSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetDelegateResult" use="literal"/>
    <soap:header message="tns:GetDelegateSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="AddDelegate">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddDelegate"/>
    <wsdl:input>
    <soap:header message="tns:AddDelegateSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:AddDelegateSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:AddDelegateSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="AddDelegateResult" use="literal"/>
    <soap:header message="tns:AddDelegateSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="RemoveDelegate">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RemoveDelegate"/>
    <wsdl:input>
    <soap:header message="tns:RemoveDelegateSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:RemoveDelegateSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:RemoveDelegateSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="RemoveDelegateResult" use="literal"/>
    <soap:header message="tns:RemoveDelegateSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="UpdateDelegate">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UpdateDelegate"/>
    <wsdl:input>
    <soap:header message="tns:UpdateDelegateSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UpdateDelegateSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UpdateDelegateSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UpdateDelegateResult" use="literal"/>
    <soap:header message="tns:UpdateDelegateSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="CreateUserConfiguration">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/CreateUserConfiguration"/>
    <wsdl:input>
    <soap:header message="tns:CreateUserConfigurationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:CreateUserConfigurationSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:CreateUserConfigurationSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="CreateUserConfigurationResult" use="literal"/>
    <soap:header message="tns:CreateUserConfigurationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="DeleteUserConfiguration">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/DeleteUserConfiguration"/>
    <wsdl:input>
    <soap:header message="tns:DeleteUserConfigurationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:DeleteUserConfigurationSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:DeleteUserConfigurationSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="DeleteUserConfigurationResult" use="literal"/>
    <soap:header message="tns:DeleteUserConfigurationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetUserConfiguration">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetUserConfiguration"/>
    <wsdl:input>
    <soap:header message="tns:GetUserConfigurationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetUserConfigurationSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetUserConfigurationSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetUserConfigurationResult" use="literal"/>
    <soap:header message="tns:GetUserConfigurationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="UpdateUserConfiguration">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UpdateUserConfiguration"/>
    <wsdl:input>
    <soap:header message="tns:UpdateUserConfigurationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UpdateUserConfigurationSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UpdateUserConfigurationSoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UpdateUserConfigurationResult" use="literal"/>
    <soap:header message="tns:UpdateUserConfigurationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- Availability Service -->

    <!-- GetUserAvailability -->
    <wsdl:operation name="GetUserAvailability">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetUserAvailability"/>
    <wsdl:input>
    <soap:header message="tns:GetUserAvailabilitySoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetUserAvailabilitySoapIn" part="TimeZoneContext" use="literal"/>
    <soap:header message="tns:GetUserAvailabilitySoapIn" part="RequestVersion" use="literal"/>
    <soap:body parts="GetUserAvailabilityRequest" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetUserAvailabilityResult" use="literal"/>
    <soap:header message="tns:GetUserAvailabilitySoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- GetUserOofSettings -->
    <wsdl:operation name="GetUserOofSettings">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetUserOofSettings"/>
    <wsdl:input>
    <soap:header message="tns:GetUserOofSettingsSoapIn" part="Impersonation" use="literal"/>
    <soap:body parts="GetUserOofSettingsRequest" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetUserOofSettingsResult" use="literal"/>
    <soap:header message="tns:GetUserOofSettingsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- SetUserOofSettings -->
    <wsdl:operation name="SetUserOofSettings">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SetUserOofSettings"/>
    <wsdl:input>
    <soap:header message="tns:SetUserOofSettingsSoapIn" part="Impersonation" use="literal"/>
    <soap:body parts="SetUserOofSettingsRequest" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="SetUserOofSettingsResult" use="literal"/>
    <soap:header message="tns:SetUserOofSettingsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- GetServiceConfiguration Bindings -->

    <!-- GetServiceConfiguration -->
    <wsdl:operation name="GetServiceConfiguration">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetServiceConfiguration"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetServiceConfigurationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetServiceConfigurationSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetServiceConfigurationSoapIn" part="MailboxCulture" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetServiceConfigurationResult" use="literal"/>
    <soap:header message="tns:GetServiceConfigurationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- GetMailTips -->
    <wsdl:operation name="GetMailTips">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetMailTips"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetMailTipsSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetMailTipsSoapIn" part="MailboxCulture" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetMailTipsResult" use="literal"/>
    <soap:header message="tns:GetMailTipsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- UMBindings -->
    <wsdl:operation name="PlayOnPhone">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/PlayOnPhone"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:PlayOnPhoneSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:PlayOnPhoneSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:PlayOnPhoneSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="PlayOnPhoneResult" use="literal"/>
    <soap:header message="tns:PlayOnPhoneSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetPhoneCallInformation">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetPhoneCallInformation"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetPhoneCallInformationSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetPhoneCallInformationSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetPhoneCallInformationSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetPhoneCallInformationResult" use="literal"/>
    <soap:header message="tns:GetPhoneCallInformationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="DisconnectPhoneCall">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/DisconnectPhoneCall"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:DisconnectPhoneCallSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:DisconnectPhoneCallSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:DisconnectPhoneCallSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="DisconnectPhoneCallResult" use="literal"/>
    <soap:header message="tns:DisconnectPhoneCallSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- Sharing -->

    <!-- GetSharingMetadata -->
    <wsdl:operation name="GetSharingMetadata">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetSharingMetadata"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetSharingMetadataSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetSharingMetadataResult" use="literal"/>
    <soap:header message="tns:GetSharingMetadataSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- RefreshSharingFolder -->
    <wsdl:operation name="RefreshSharingFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RefreshSharingFolder"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:RefreshSharingFolderSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="RefreshSharingFolderResult" use="literal"/>
    <soap:header message="tns:RefreshSharingFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- GetSharingFolder -->
    <wsdl:operation name="GetSharingFolder">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetSharingFolder"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetSharingFolderSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetSharingFolderResult" use="literal"/>
    <soap:header message="tns:GetSharingFolderSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- Find A Room Service -->

    <!-- GetRoomLists -->
    <wsdl:operation name="GetRoomLists">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetRoomLists"/>
    <wsdl:input>
    <soap:body parts="GetRoomListsRequest" use="literal"/>
    <soap:header message="tns:GetRoomListsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetRoomListsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetRoomListsSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body parts="GetRoomListsResult" use="literal"/>
    <soap:header message="tns:GetRoomListsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- GetRooms -->
    <wsdl:operation name="GetRooms">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetRooms"/>
    <wsdl:input>
    <soap:body parts="GetRoomsRequest" use="literal"/>
    <soap:header message="tns:GetRoomsSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetRoomsSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetRoomsSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>

    <wsdl:output>
    <soap:body parts="GetRoomsResult" use="literal"/>
    <soap:header message="tns:GetRoomsSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- MessageTracking -->
    <wsdl:operation name="FindMessageTrackingReport">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/FindMessageTrackingReport"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:FindMessageTrackingReportSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="FindMessageTrackingReportResult" use="literal"/>
    <soap:header message="tns:FindMessageTrackingReportSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="GetMessageTrackingReport">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetMessageTrackingReport"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:GetMessageTrackingReportSoapIn" part="RequestVersion" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetMessageTrackingReportResult" use="literal"/>
    <soap:header message="tns:GetMessageTrackingReportSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!--Conversations-->
    <wsdl:operation name="FindConversation">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/FindConversation"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:FindConversationSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:FindConversationSoapIn" part="Impersonation" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="FindConversationResult" use="literal"/>
    <soap:header message="tns:FindConversationSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <wsdl:operation name="ApplyConversationAction">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ApplyConversationAction"/>
    <wsdl:input>
    <soap:body parts="request" use="literal"/>
    <soap:header message="tns:ApplyConversationActionSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:ApplyConversationActionSoapIn" part="Impersonation" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="ApplyConversationActionResult" use="literal"/>
    <soap:header message="tns:ApplyConversationActionSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- Inbox Rules Operations -->

    <!-- GetInboxRules -->
    <wsdl:operation name="GetInboxRules">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetInboxRules"/>
    <wsdl:input>
    <soap:header message="tns:GetInboxRulesSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:GetInboxRulesSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:GetInboxRulesSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:GetInboxRulesSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="GetInboxRulesResult" use="literal"/>
    <soap:header message="tns:GetInboxRulesSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    <!-- UpdateInboxRules -->
    <wsdl:operation name="UpdateInboxRules">
    <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/UpdateInboxRules"/>
    <wsdl:input>
    <soap:header message="tns:UpdateInboxRulesSoapIn" part="Impersonation" use="literal"/>
    <soap:header message="tns:UpdateInboxRulesSoapIn" part="MailboxCulture" use="literal"/>
    <soap:header message="tns:UpdateInboxRulesSoapIn" part="RequestVersion" use="literal"/>
    <soap:header message="tns:UpdateInboxRulesSoapIn" part="TimeZoneContext" use="literal"/>
    <soap:body parts="request" use="literal"/>
    </wsdl:input>
    <wsdl:output>
    <soap:body parts="UpdateInboxRulesResult" use="literal"/>
    <soap:header message="tns:UpdateInboxRulesSoapOut" part="ServerVersion" use="literal"/>
    </wsdl:output>
    </wsdl:operation>

    </wsdl:binding>
    </wsdl:definitions>

     
  • Mickael Guessant

    Sorry, the supported versions are in /ews/types.xsd

    Can you provide ExchangeVersionType definition ?

     
  • Anonymous

    Anonymous - 2011-11-03

    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema id="types" elementFormDefault="qualified" version="Exchange2010_SP1" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>

    <!-- SOAP header to indicate language for mailbox interaction-->
    <xs:complexType name="MailboxCultureType">
    <xs:simpleContent>
    <xs:extension base="xs:language">
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    <xs:element name="MailboxCulture" type="t:MailboxCultureType"/>

    <!-- Server to Server auth SOAP header information -->
    <xs:complexType name="SidAndAttributesType">
    <xs:sequence>
    <xs:element name="SecurityIdentifier" type="xs:string"/>
    </xs:sequence>
    <xs:attribute name="Attributes" type="xs:unsignedInt" use="required"/>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfGroupIdentifiersType">
    <xs:sequence>
    <xs:element name="GroupIdentifier" type="t:SidAndAttributesType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfRestrictedGroupIdentifiersType">
    <xs:sequence>
    <xs:element name="RestrictedGroupIdentifier" type="t:SidAndAttributesType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SerializedSecurityContextType">
    <xs:sequence>
    <xs:element name="UserSid" type="xs:string"/>
    <xs:element name="GroupSids" type="t:NonEmptyArrayOfGroupIdentifiersType" minOccurs="0"/>
    <xs:element name="RestrictedGroupSids" type="t:NonEmptyArrayOfRestrictedGroupIdentifiersType" minOccurs="0"/>
    <xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:complexType>
    <xs:element name="SerializedSecurityContext" type="t:SerializedSecurityContextType"/>

    <xs:complexType name="ConnectingSIDType">
    <xs:choice>
    <xs:element name="PrincipalName" type="t:NonEmptyStringType"/>
    <xs:element name="SID" type="t:NonEmptyStringType"/>
    <xs:element name="PrimarySmtpAddress" type="t:NonEmptyStringType"/>
    <xs:element name="SmtpAddress" type="t:NonEmptyStringType"/>
    </xs:choice>
    </xs:complexType>
    <xs:complexType name="ExchangeImpersonationType">
    <xs:sequence>
    <xs:element name="ConnectingSID" type="t:ConnectingSIDType"/>
    </xs:sequence>
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:complexType>
    <xs:element name="ExchangeImpersonation" type="t:ExchangeImpersonationType"/>

    <xs:simpleType name="SpecialLogonTypeType">
    <xs:annotation>
    <xs:documentation>Surfaces the various logon types that are supported for conversion</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Admin"/>
    <xs:enumeration value="SystemService"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="OpenAsAdminOrSystemServiceType">
    <xs:sequence>
    <xs:element name="ConnectingSID" type="t:ConnectingSIDType"/>
    </xs:sequence>
    <xs:attribute name="LogonType" type="t:SpecialLogonTypeType" use="required"/>
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:complexType>
    <xs:element name="OpenAsAdminOrSystemService" type="t:OpenAsAdminOrSystemServiceType"/>

    <!-- External sharing security header for person-to-person sharing relationships -->
    <xs:element name="SharingSecurity" type="t:EncryptedDataContainerType"/>

    <!-- Enumeration of Exchange Server versions -->
    <xs:simpleType name="ExchangeVersionType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Exchange2007"/>
    <xs:enumeration value="Exchange2007_SP1"/>
    <xs:enumeration value="Exchange2010"/>
    <xs:enumeration value="Exchange2010_SP1"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ProxySecurityContextType">
    <xs:simpleContent>
    <xs:extension base="xs:base64Binary">
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>
    <xs:element name="ProxySecurityContext" type="t:ProxySecurityContextType"/>
    <xs:element name="ProxySuggesterSid" type="t:ProxySecurityContextType"/>

    <!-- Used in the SOAP header of responses for diagnostics purposes. -->
    <xs:element name="ServerVersionInfo">
    <xs:complexType>
    <xs:attribute name="MajorVersion" type="xs:int" use="optional"/>
    <xs:attribute name="MinorVersion" type="xs:int" use="optional"/>
    <xs:attribute name="MajorBuildNumber" type="xs:int" use="optional"/>
    <xs:attribute name="MinorBuildNumber" type="xs:int" use="optional"/>
    <xs:attribute name="Version" type="xs:string" use="optional"/>
    </xs:complexType>
    </xs:element>

    <!-- Used in the SOAP header of requests to specify version for request. -->
    <xs:element name="RequestServerVersion">
    <xs:complexType>
    <xs:attribute name="Version" type="t:ExchangeVersionType" fixed="Exchange2010_SP1" use="required"/>
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:complexType>
    </xs:element>

    <!-- Email address/participant types -->

    <xs:simpleType name="NonEmptyStringType">
    <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="BaseEmailAddressType"/>

    <xs:simpleType name="MailboxTypeType">
    <xs:restriction base="xs:string">

    <xs:enumeration value="Unknown"/>
    <xs:enumeration value="OneOff"/>

    <xs:enumeration value="Mailbox"/>
    <xs:enumeration value="PublicDL"/>

    <xs:enumeration value="PrivateDL"/>
    <xs:enumeration value="Contact"/>

    <xs:enumeration value="PublicFolder"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="EmailAddressType">
    <xs:annotation>
    <xs:documentation>Identifier for a fully resolved email address</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseEmailAddressType">
    <xs:sequence>
    <xs:element name="Name" type="xs:string" minOccurs="0"/>
    <xs:element name="EmailAddress" type="t:NonEmptyStringType" minOccurs="0"/>
    <xs:element name="RoutingType" type="t:NonEmptyStringType" minOccurs="0"/>
    <xs:element name="MailboxType" type="t:MailboxTypeType" minOccurs="0"/>
    <xs:element name="ItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- GetRooms Service Types -->

    <xs:complexType name="ArrayOfEmailAddressesType">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="Address" type="t:EmailAddressType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DirectoryEntryType">
    <xs:sequence>
    <xs:element name="Id" type="t:EmailAddressType" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="RoomType">
    <xs:complexContent>
    <xs:extension base="t:DirectoryEntryType">
    <!-- We don't need anything additional at this time -->
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ArrayOfRoomsType">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="Room" type="t:RoomType"/>
    </xs:sequence>
    </xs:complexType>

    <!-- - - - - - - - - - - - - - - - - - - -->
    <!-- Recipient List -->
    <!-- - - - - - - - - - - - - - - - - - - -->
    <xs:complexType name="ArrayOfRecipientsType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="Mailbox" type="t:EmailAddressType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="SingleRecipientType">
    <xs:choice>
    <xs:element name="Mailbox" type="t:EmailAddressType"/>
    </xs:choice>
    </xs:complexType>

    <!-- URIs for frequently referenced types -->
    <xs:simpleType name="UnindexedFieldURIType">
    <xs:restriction base="xs:string">

    <!-- Folder fields -->

    <xs:enumeration value="folder:FolderId"/>
    <xs:enumeration value="folder:ParentFolderId"/>
    <xs:enumeration value="folder:DisplayName"/>
    <xs:enumeration value="folder:UnreadCount"/>
    <xs:enumeration value="folder:TotalCount"/>
    <xs:enumeration value="folder:ChildFolderCount"/>
    <xs:enumeration value="folder:FolderClass"/>
    <xs:enumeration value="folder:SearchParameters"/>
    <xs:enumeration value="folder:ManagedFolderInformation"/>
    <xs:enumeration value="folder:PermissionSet"/>
    <xs:enumeration value="folder:EffectiveRights"/>
    <xs:enumeration value="folder:SharingEffectiveRights"/>
    <!-- Item fields -->

    <xs:enumeration value="item:ItemId"/>
    <xs:enumeration value="item:ParentFolderId"/>
    <xs:enumeration value="item:ItemClass"/>
    <xs:enumeration value="item:MimeContent"/>
    <xs:enumeration value="item:Attachments"/>
    <xs:enumeration value="item:Subject"/>
    <xs:enumeration value="item:DateTimeReceived"/>
    <xs:enumeration value="item:Size"/>
    <xs:enumeration value="item:Categories"/>
    <xs:enumeration value="item:HasAttachments"/>
    <xs:enumeration value="item:Importance"/>
    <xs:enumeration value="item:InReplyTo"/>
    <xs:enumeration value="item:InternetMessageHeaders"/>
    <xs:enumeration value="item:IsAssociated"/>
    <xs:enumeration value="item:IsDraft"/>
    <xs:enumeration value="item:IsFromMe"/>
    <xs:enumeration value="item:IsResend"/>
    <xs:enumeration value="item:IsSubmitted"/>
    <xs:enumeration value="item:IsUnmodified"/>
    <xs:enumeration value="item:DateTimeSent"/>
    <xs:enumeration value="item:DateTimeCreated"/>
    <xs:enumeration value="item:Body"/>
    <xs:enumeration value="item:ResponseObjects"/>
    <xs:enumeration value="item:Sensitivity"/>

    <xs:enumeration value="item:ReminderDueBy"/>
    <xs:enumeration value="item:ReminderIsSet"/>
    <xs:enumeration value="item:ReminderMinutesBeforeStart"/>

    <xs:enumeration value="item:DisplayTo"/>
    <xs:enumeration value="item:DisplayCc"/>

    <xs:enumeration value="item:Culture"/>
    <xs:enumeration value="item:EffectiveRights"/>

    <xs:enumeration value="item:LastModifiedName"/>
    <xs:enumeration value="item:LastModifiedTime"/>
    <xs:enumeration value="item:ConversationId"/>
    <xs:enumeration value="item:UniqueBody"/>

    <xs:enumeration value="item:WebClientReadFormQueryString"/>
    <xs:enumeration value="item:WebClientEditFormQueryString"/>

    <!-- Messages -->

    <xs:enumeration value="message:ConversationIndex"/>
    <xs:enumeration value="message:ConversationTopic"/>
    <xs:enumeration value="message:InternetMessageId"/>
    <xs:enumeration value="message:IsRead"/>
    <xs:enumeration value="message:IsResponseRequested"/>
    <xs:enumeration value="message:IsReadReceiptRequested"/>
    <xs:enumeration value="message:IsDeliveryReceiptRequested"/>
    <xs:enumeration value="message:ReceivedBy"/>
    <xs:enumeration value="message:ReceivedRepresenting"/>
    <xs:enumeration value="message:References"/>
    <xs:enumeration value="message:ReplyTo"/>
    <xs:enumeration value="message:From"/>
    <xs:enumeration value="message:Sender"/>
    <xs:enumeration value="message:ToRecipients"/>
    <xs:enumeration value="message:CcRecipients"/>
    <xs:enumeration value="message:BccRecipients"/>

    <!-- Meeting Message -->

    <xs:enumeration value="meeting:AssociatedCalendarItemId"/>
    <xs:enumeration value="meeting:IsDelegated"/>
    <xs:enumeration value="meeting:IsOutOfDate"/>
    <xs:enumeration value="meeting:HasBeenProcessed"/>
    <xs:enumeration value="meeting:ResponseType"/>

    <!-- Meeting Request -->

    <xs:enumeration value="meetingRequest:MeetingRequestType"/>
    <xs:enumeration value="meetingRequest:IntendedFreeBusyStatus"/>

    <!-- Calendar items and appointments -->

    <xs:enumeration value="calendar:Start"/>
    <xs:enumeration value="calendar:End"/>
    <xs:enumeration value="calendar:OriginalStart"/>
    <xs:enumeration value="calendar:IsAllDayEvent"/>
    <xs:enumeration value="calendar:LegacyFreeBusyStatus"/>
    <xs:enumeration value="calendar:Location"/>
    <xs:enumeration value="calendar:When"/>
    <xs:enumeration value="calendar:IsMeeting"/>
    <xs:enumeration value="calendar:IsCancelled"/>
    <xs:enumeration value="calendar:IsRecurring"/>
    <xs:enumeration value="calendar:MeetingRequestWasSent"/>
    <xs:enumeration value="calendar:IsResponseRequested"/>
    <xs:enumeration value="calendar:CalendarItemType"/>
    <xs:enumeration value="calendar:MyResponseType"/>
    <xs:enumeration value="calendar:Organizer"/>
    <xs:enumeration value="calendar:RequiredAttendees"/>
    <xs:enumeration value="calendar:OptionalAttendees"/>
    <xs:enumeration value="calendar:Resources"/>
    <xs:enumeration value="calendar:ConflictingMeetingCount"/>
    <xs:enumeration value="calendar:AdjacentMeetingCount"/>
    <xs:enumeration value="calendar:ConflictingMeetings"/>
    <xs:enumeration value="calendar:AdjacentMeetings"/>

    <xs:enumeration value="calendar:Duration"/>
    <xs:enumeration value="calendar:TimeZone"/>
    <xs:enumeration value="calendar:AppointmentReplyTime"/>
    <xs:enumeration value="calendar:AppointmentSequenceNumber"/>
    <xs:enumeration value="calendar:AppointmentState"/>

    <xs:enumeration value="calendar:Recurrence"/>
    <xs:enumeration value="calendar:FirstOccurrence"/>
    <xs:enumeration value="calendar:LastOccurrence"/>
    <xs:enumeration value="calendar:ModifiedOccurrences"/>
    <xs:enumeration value="calendar:DeletedOccurrences"/>
    <xs:enumeration value="calendar:MeetingTimeZone"/>

    <xs:enumeration value="calendar:ConferenceType"/>
    <xs:enumeration value="calendar:AllowNewTimeProposal"/>
    <xs:enumeration value="calendar:IsOnlineMeeting"/>
    <xs:enumeration value="calendar:MeetingWorkspaceUrl"/>
    <xs:enumeration value="calendar:NetShowUrl"/>

    <xs:enumeration value="calendar:UID"/>
    <xs:enumeration value="calendar:RecurrenceId"/>
    <xs:enumeration value="calendar:DateTimeStamp"/>
    <xs:enumeration value="calendar:StartTimeZone"/>
    <xs:enumeration value="calendar:EndTimeZone"/>

    <!-- Task properties -->

    <xs:enumeration value="task:ActualWork"/>
    <xs:enumeration value="task:AssignedTime"/>
    <xs:enumeration value="task:BillingInformation"/>
    <xs:enumeration value="task:ChangeCount"/>
    <xs:enumeration value="task:Companies"/>
    <xs:enumeration value="task:CompleteDate"/>
    <xs:enumeration value="task:Contacts"/>
    <xs:enumeration value="task:DelegationState"/>
    <xs:enumeration value="task:Delegator"/>
    <xs:enumeration value="task:DueDate"/>
    <xs:enumeration value="task:IsAssignmentEditable"/>
    <xs:enumeration value="task:IsComplete"/>
    <xs:enumeration value="task:IsRecurring"/>
    <xs:enumeration value="task:IsTeamTask"/>
    <xs:enumeration value="task:Mileage"/>
    <xs:enumeration value="task:Owner"/>
    <xs:enumeration value="task:PercentComplete"/>
    <xs:enumeration value="task:Recurrence"/>
    <xs:enumeration value="task:StartDate"/>
    <xs:enumeration value="task:Status"/>
    <xs:enumeration value="task:StatusDescription"/>
    <xs:enumeration value="task:TotalWork"/>

    <!-- Contacts -->

    <xs:enumeration value="contacts:AssistantName"/>
    <xs:enumeration value="contacts:Birthday"/>
    <xs:enumeration value="contacts:BusinessHomePage"/>
    <xs:enumeration value="contacts:Children"/>
    <xs:enumeration value="contacts:Companies"/>
    <xs:enumeration value="contacts:CompanyName"/>
    <xs:enumeration value="contacts:CompleteName"/>
    <xs:enumeration value="contacts:ContactSource"/>
    <xs:enumeration value="contacts:Culture"/>
    <xs:enumeration value="contacts:Department"/>
    <xs:enumeration value="contacts:DisplayName"/>
    <xs:enumeration value="contacts:EmailAddresses"/>
    <xs:enumeration value="contacts:FileAs"/>
    <xs:enumeration value="contacts:FileAsMapping"/>
    <xs:enumeration value="contacts:Generation"/>
    <xs:enumeration value="contacts:GivenName"/>
    <xs:enumeration value="contacts:ImAddresses"/>
    <xs:enumeration value="contacts:Initials"/>
    <xs:enumeration value="contacts:JobTitle"/>
    <xs:enumeration value="contacts:Manager"/>
    <xs:enumeration value="contacts:MiddleName"/>
    <xs:enumeration value="contacts:Mileage"/>
    <xs:enumeration value="contacts:Nickname"/>
    <xs:enumeration value="contacts:OfficeLocation"/>
    <xs:enumeration value="contacts:PhoneNumbers"/>
    <xs:enumeration value="contacts:PhysicalAddresses"/>
    <xs:enumeration value="contacts:PostalAddressIndex"/>
    <xs:enumeration value="contacts:Profession"/>
    <xs:enumeration value="contacts:SpouseName"/>
    <xs:enumeration value="contacts:Surname"/>
    <xs:enumeration value="contacts:WeddingAnniversary"/>
    <xs:enumeration value="contacts:HasPicture"/>

    <xs:enumeration value="distributionlist:Members"/>

    <!-- Post item -->
    <xs:enumeration value="postitem:PostedTime"/>
    <!-- Note: The following message Field URIs are also valid for a postitem:
    message:ConversationIndex
    message:ConversationTopic
    message:From
    message:InternetMessageId
    message:References
    message:Sender
    -->

    <!-- Conversation fileds-->
    <xs:enumeration value="conversation:ConversationId"/>
    <xs:enumeration value="conversation:ConversationTopic"/>
    <xs:enumeration value="conversation:UniqueRecipients"/>
    <xs:enumeration value="conversation:GlobalUniqueRecipients"/>
    <xs:enumeration value="conversation:UniqueUnreadSenders"/>
    <xs:enumeration value="conversation:GlobalUniqueUnreadSenders"/>
    <xs:enumeration value="conversation:UniqueSenders"/>
    <xs:enumeration value="conversation:GlobalUniqueSenders"/>
    <xs:enumeration value="conversation:LastDeliveryTime"/>
    <xs:enumeration value="conversation:GlobalLastDeliveryTime"/>
    <xs:enumeration value="conversation:Categories"/>
    <xs:enumeration value="conversation:GlobalCategories"/>
    <xs:enumeration value="conversation:FlagStatus"/>
    <xs:enumeration value="conversation:GlobalFlagStatus"/>
    <xs:enumeration value="conversation:HasAttachments"/>
    <xs:enumeration value="conversation:GlobalHasAttachments"/>
    <xs:enumeration value="conversation:MessageCount"/>
    <xs:enumeration value="conversation:GlobalMessageCount"/>
    <xs:enumeration value="conversation:UnreadCount"/>
    <xs:enumeration value="conversation:GlobalUnreadCount"/>
    <xs:enumeration value="conversation:Size"/>
    <xs:enumeration value="conversation:GlobalSize"/>
    <xs:enumeration value="conversation:ItemClasses"/>
    <xs:enumeration value="conversation:GlobalItemClasses"/>
    <xs:enumeration value="conversation:Importance"/>
    <xs:enumeration value="conversation:GlobalImportance"/>
    <xs:enumeration value="conversation:ItemIds"/>
    <xs:enumeration value="conversation:GlobalItemIds"/>

    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="DictionaryURIType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="item:InternetMessageHeader"/>
    <xs:enumeration value="contacts:ImAddress"/>
    <xs:enumeration value="contacts:PhysicalAddress:Street"/>
    <xs:enumeration value="contacts:PhysicalAddress:City"/>
    <xs:enumeration value="contacts:PhysicalAddress:State"/>
    <xs:enumeration value="contacts:PhysicalAddress:CountryOrRegion"/>
    <xs:enumeration value="contacts:PhysicalAddress:PostalCode"/>
    <xs:enumeration value="contacts:PhoneNumber"/>
    <xs:enumeration value="contacts:EmailAddress"/>

    <xs:enumeration value="distributionlist:Members:Member"/>

    </xs:restriction>
    </xs:simpleType>

    <!-- URIs for property types used in MessageXml -->
    <xs:simpleType name="ExceptionPropertyURIType">
    <xs:restriction base="xs:string">
    <!-- Attachment fields -->

    <xs:enumeration value="attachment:Name"/>
    <xs:enumeration value="attachment:ContentType"/>
    <xs:enumeration value="attachment:Content"/>

    <!-- Recurrence fields -->

    <xs:enumeration value="recurrence:Month"/>
    <xs:enumeration value="recurrence:DayOfWeekIndex"/>
    <xs:enumeration value="recurrence:DaysOfWeek"/>
    <xs:enumeration value="recurrence:DayOfMonth"/>
    <xs:enumeration value="recurrence:Interval"/>
    <xs:enumeration value="recurrence:NumberOfOccurrences"/>

    <xs:enumeration value="timezone:Offset"/>

    </xs:restriction>
    </xs:simpleType>

    <!-- path types -->
    <xs:simpleType name="GuidType">
    <xs:annotation>
    <xs:documentation>
    The regular expression captures the standard representation of a GUID
    </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="DistinguishedPropertySetType">
    <xs:annotation>
    <xs:documentation>
    Defines the well known property set ids for extended properties.
    </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Meeting"/>
    <xs:enumeration value="Appointment"/>
    <xs:enumeration value="Common"/>
    <xs:enumeration value="PublicStrings"/>
    <xs:enumeration value="Address"/>
    <xs:enumeration value="InternetHeaders"/>
    <xs:enumeration value="CalendarAssistant"/>
    <xs:enumeration value="UnifiedMessaging"/>
    <xs:enumeration value="Task"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MapiPropertyTypeType">
    <xs:annotation>
    <xs:documentation>
    Includes all of the extended property types that we support. Note that Error, Null,
    Object and Object array can not be used in restrictions, or for setting/getting values.
    They are only there for error reporting purposes.
    </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="ApplicationTime"/>
    <xs:enumeration value="ApplicationTimeArray"/>
    <xs:enumeration value="Binary"/>
    <xs:enumeration value="BinaryArray"/>
    <xs:enumeration value="Boolean"/>
    <xs:enumeration value="CLSID"/>
    <xs:enumeration value="CLSIDArray"/>
    <xs:enumeration value="Currency"/>
    <xs:enumeration value="CurrencyArray"/>
    <xs:enumeration value="Double"/>
    <xs:enumeration value="DoubleArray"/>
    <xs:enumeration value="Error"/>
    <xs:enumeration value="Float"/>
    <xs:enumeration value="FloatArray"/>
    <xs:enumeration value="Integer"/>
    <xs:enumeration value="IntegerArray"/>
    <xs:enumeration value="Long"/>
    <xs:enumeration value="LongArray"/>
    <xs:enumeration value="Null"/>
    <xs:enumeration value="Object"/>
    <xs:enumeration value="ObjectArray"/>
    <xs:enumeration value="Short"/>
    <xs:enumeration value="ShortArray"/>
    <xs:enumeration value="SystemTime"/>
    <xs:enumeration value="SystemTimeArray"/>
    <xs:enumeration value="String"/>
    <xs:enumeration value="StringArray"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="BasePathToElementType" abstract="true"/>

    <xs:complexType name="PathToUnindexedFieldType">
    <xs:complexContent>
    <xs:extension base="t:BasePathToElementType">
    <xs:attribute name="FieldURI" type="t:UnindexedFieldURIType" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PathToIndexedFieldType">
    <xs:complexContent>
    <xs:extension base="t:BasePathToElementType">
    <xs:attribute name="FieldURI" type="t:DictionaryURIType" use="required"/>
    <xs:attribute name="FieldIndex" type="xs:string" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PathToExceptionFieldType">
    <xs:complexContent>
    <xs:extension base="t:BasePathToElementType">
    <xs:attribute name="FieldURI" type="t:ExceptionPropertyURIType" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:simpleType name="PropertyTagType">
    <xs:annotation>
    <xs:documentation>
    This type represents the property tag (MINUS the type part). There are two options
    for representation:
    1. Hex ==&gt; 0x3fa4
    2. Decimal ==&gt; 0-65535
    </xs:documentation>
    </xs:annotation>
    <xs:union memberTypes="xs:unsignedShort">
    <xs:simpleType id="HexPropertyTagType">
    <xs:restriction base="xs:string">
    <xs:pattern value="(0x|0X)[0-9A-Fa-f]{1,4}"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:union>
    </xs:simpleType>

    <xs:complexType name="PathToExtendedFieldType">
    <xs:annotation>
    <xs:documentation>
    Represents an extended property. Note that there are only a couple of valid attribute
    combinations. Note that all occurances require the PropertyType attribute.

    1. (DistinguishedPropertySetId || PropertySetId) + (PropertyName || Property Id)
    2. PropertyTag

    </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BasePathToElementType">
    <xs:attribute name="DistinguishedPropertySetId" type="t:DistinguishedPropertySetType" use="optional"/>
    <xs:attribute name="PropertySetId" type="t:GuidType" use="optional"/>
    <xs:attribute name="PropertyTag" type="t:PropertyTagType" use="optional"/>
    <xs:attribute name="PropertyName" type="xs:string" use="optional"/>
    <xs:attribute name="PropertyId" type="xs:int" use="optional"/>
    <xs:attribute name="PropertyType" type="t:MapiPropertyTypeType" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:element name="Path" abstract="true" type="t:BasePathToElementType"/>
    <xs:element name="FieldURI" type="t:PathToUnindexedFieldType" substitutionGroup="t:Path"/>
    <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType" substitutionGroup="t:Path"/>
    <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType" substitutionGroup="t:Path"/>

    <!-- For errors only, identifies fields that do not have a uri. -->
    <xs:element name="ExceptionFieldURI" type="t:PathToExceptionFieldType"/>

    <!-- Arrays of paths -->
    <xs:complexType name="NonEmptyArrayOfPathsToElementType">
    <!-- using choice here so that proxy generator will not flatten the array and thus lose the
    item element names -->
    <xs:choice maxOccurs="unbounded">
    <xs:element ref="t:Path"/>
    </xs:choice>
    </xs:complexType>

    <!-- ExtendedProperty value instances -->

    <xs:complexType name="NonEmptyArrayOfPropertyValuesType">
    <xs:choice>
    <xs:element name="Value" type="xs:string" maxOccurs="unbounded"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="ExtendedPropertyType">
    <xs:annotation>
    <xs:documentation>
    Represents an extended property instance (both its path identifier along with its
    associated value).
    </xs:documentation>
    </xs:annotation>
    <xs:sequence>
    <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/>
    <xs:choice>
    <xs:element name="Value" type="xs:string"/>
    <xs:element name="Values" type="t:NonEmptyArrayOfPropertyValuesType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <!-- Query Traversal types -->
    <xs:simpleType name="FolderQueryTraversalType">
    <xs:annotation>
    <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Shallow"/>
    <xs:enumeration value="Deep"/>
    <xs:enumeration value="SoftDeleted"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="SearchFolderTraversalType">
    <xs:annotation>
    <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Shallow"/>
    <xs:enumeration value="Deep"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ItemQueryTraversalType">
    <xs:annotation>
    <xs:documentation>Types of sub-tree traversal for deletion and enumeration</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Shallow"/>
    <xs:enumeration value="SoftDeleted"/>
    <xs:enumeration value="Associated"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Default shape names for response shapes -->
    <xs:simpleType name="DefaultShapeNamesType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="IdOnly"/>
    <xs:enumeration value="Default"/>
    <xs:enumeration value="AllProperties"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="BodyTypeResponseType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Best"/>
    <xs:enumeration value="HTML"/>
    <xs:enumeration value="Text"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Placeholder type from which all folder shape properties are to be derived -->
    <xs:complexType name="FolderResponseShapeType">
    <xs:sequence>
    <xs:element name="BaseShape" type="t:DefaultShapeNamesType"/>
    <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ItemResponseShapeType">
    <xs:sequence>
    <xs:element name="BaseShape" type="t:DefaultShapeNamesType"/>
    <xs:element name="IncludeMimeContent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="BodyType" type="t:BodyTypeResponseType" minOccurs="0"/>
    <xs:element name="FilterHtmlContent" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ConvertHtmlCodePageToUTF8" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AttachmentResponseShapeType">
    <xs:sequence>
    <xs:element name="IncludeMimeContent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="BodyType" type="t:BodyTypeResponseType" minOccurs="0"/>
    <xs:element name="FilterHtmlContent" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="DisposalType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="HardDelete"/>
    <xs:enumeration value="SoftDelete"/>
    <xs:enumeration value="MoveToDeletedItems"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- auto-conflict resolution levels -->
    <xs:simpleType name="ConflictResolutionType">
    <xs:annotation>
    <xs:documentation>Type of conflict resolution to attempt during update</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="NeverOverwrite"/>
    <xs:enumeration value="AutoResolve"/>
    <xs:enumeration value="AlwaysOverwrite"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ResponseClassType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Success"/>
    <xs:enumeration value="Warning"/>
    <xs:enumeration value="Error"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Core update operations -->
    <xs:complexType name="ChangeDescriptionType" abstract="true">
    <!-- This path element needs some explanation. For update operations, only ONE
    property can be modified within a single request. That single property must be
    referenced in the Path element. The Item/Folder element in the derived classes
    can then only hold a single property that is in agreement with the single path
    element-->
    <xs:sequence>
    <xs:element ref="t:Path"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ItemChangeDescriptionType">
    <xs:complexContent>
    <xs:extension base="t:ChangeDescriptionType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="FolderChangeDescriptionType">
    <xs:complexContent>
    <xs:extension base="t:ChangeDescriptionType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="SetItemFieldType">
    <xs:complexContent>
    <xs:extension base="t:ItemChangeDescriptionType">
    <xs:choice>
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="DistributionList" type="t:DistributionListType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    </xs:choice>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="SetFolderFieldType">
    <xs:complexContent>
    <xs:extension base="t:FolderChangeDescriptionType">
    <xs:choice>
    <xs:element name="Folder" type="t:FolderType"/>
    <xs:element name="CalendarFolder" type="t:CalendarFolderType"/>
    <xs:element name="ContactsFolder" type="t:ContactsFolderType"/>
    <xs:element name="SearchFolder" type="t:SearchFolderType"/>
    <xs:element name="TasksFolder" type="t:TasksFolderType"/>
    </xs:choice>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DeleteItemFieldType">
    <xs:complexContent>
    <xs:extension base="t:ItemChangeDescriptionType">
    <xs:sequence/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DeleteFolderFieldType">
    <xs:complexContent>
    <xs:extension base="t:FolderChangeDescriptionType">
    <xs:sequence/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AppendToItemFieldType">
    <xs:complexContent>
    <xs:extension base="t:ItemChangeDescriptionType">
    <xs:choice>
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="DistributionList" type="t:DistributionListType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    </xs:choice>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AppendToFolderFieldType">
    <xs:complexContent>
    <xs:extension base="t:FolderChangeDescriptionType">
    <xs:sequence>
    <xs:choice>
    <xs:element name="Folder" type="t:FolderType"/>
    <xs:element name="CalendarFolder" type="t:CalendarFolderType"/>
    <xs:element name="ContactsFolder" type="t:ContactsFolderType"/>
    <xs:element name="SearchFolder" type="t:SearchFolderType"/>
    <xs:element name="TasksFolder" type="t:TasksFolderType"/>
    </xs:choice>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfItemChangeDescriptionsType">
    <xs:choice maxOccurs="unbounded">
    <xs:element name="AppendToItemField" type="t:AppendToItemFieldType"/>
    <xs:element name="SetItemField" type="t:SetItemFieldType"/>
    <xs:element name="DeleteItemField" type="t:DeleteItemFieldType"/>
    </xs:choice>
    </xs:complexType>
    <xs:complexType name="NonEmptyArrayOfFolderChangeDescriptionsType">
    <xs:choice maxOccurs="unbounded">
    <xs:element name="AppendToFolderField" type="t:AppendToFolderFieldType"/>
    <xs:element name="SetFolderField" type="t:SetFolderFieldType"/>
    <xs:element name="DeleteFolderField" type="t:DeleteFolderFieldType"/>
    </xs:choice>
    </xs:complexType>

    <!-- Updating an item. -->

    <xs:complexType name="ItemChangeType">
    <xs:sequence>
    <xs:choice>
    <xs:element name="ItemId" type="t:ItemIdType"/>
    <xs:element name="OccurrenceItemId" type="t:OccurrenceItemIdType"/>
    <xs:element name="RecurringMasterItemId" type="t:RecurringMasterItemIdType"/>
    </xs:choice>
    <xs:element name="Updates" type="t:NonEmptyArrayOfItemChangeDescriptionsType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfItemChangesType">
    <xs:sequence>
    <xs:element name="ItemChange" type="t:ItemChangeType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Other headers -->
    <xs:complexType name="InternetHeaderType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="HeaderName" type="xs:string" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfInternetHeadersType">
    <xs:sequence>
    <xs:element name="InternetMessageHeader" type="t:InternetHeaderType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Attachments -->

    <!-- This type is used in GetAttachment -->
    <xs:complexType name="RequestAttachmentIdType">
    <xs:complexContent>
    <xs:extension base="t:BaseItemIdType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- This type is used in CreateAttachment responses. CreateAttachment modifies the
    change key of the root item of the created attachment. We have to return that new
    change key.-->
    <xs:complexType name="AttachmentIdType">
    <xs:complexContent>
    <xs:extension base="t:RequestAttachmentIdType">
    <xs:attribute name="RootItemId" type="xs:string" use="optional"/>
    <xs:attribute name="RootItemChangeKey" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- This type is used solely in DeleteAttachment responses. -->
    <xs:complexType name="RootItemIdType">
    <xs:complexContent>
    <xs:extension base="t:BaseItemIdType">
    <xs:attribute name="RootItemId" type="xs:string" use="required"/>
    <xs:attribute name="RootItemChangeKey" type="xs:string" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfRequestAttachmentIdsType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
    <xs:element name="AttachmentId" type="t:RequestAttachmentIdType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="AttachmentType">
    <xs:sequence>
    <xs:element name="AttachmentId" type="t:AttachmentIdType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ContentType" type="xs:string" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ContentId" type="xs:string" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ContentLocation" type="xs:string" minOccurs="0" maxOccurs="1"/>
    <xs:element name="Size" type="xs:int" minOccurs="0" maxOccurs="1"/>
    <xs:element name="LastModifiedTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
    <xs:element name="IsInline" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ItemAttachmentType">
    <xs:complexContent>
    <xs:extension base="t:AttachmentType">
    <xs:choice minOccurs="0" maxOccurs="1">
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    </xs:choice>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="SyncFolderItemsCreateOrUpdateType">
    <xs:choice>
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="DistributionList" type="t:DistributionListType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="FileAttachmentType">
    <xs:complexContent>
    <xs:extension base="t:AttachmentType">
    <xs:sequence>
    <xs:element name="IsContactPhoto" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="Content" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ArrayOfAttachmentsType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="ItemAttachment" type="t:ItemAttachmentType"/>
    <xs:element name="FileAttachment" type="t:FileAttachmentType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfAttachmentsType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
    <xs:element name="ItemAttachment" type="t:ItemAttachmentType"/>
    <xs:element name="FileAttachment" type="t:FileAttachmentType"/>
    </xs:choice>
    </xs:complexType>

    <!-- Sensitivity enumeration -->
    <xs:simpleType name="SensitivityChoicesType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Normal"/>
    <xs:enumeration value="Personal"/>
    <xs:enumeration value="Private"/>
    <xs:enumeration value="Confidential"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Importance enumeration -->
    <xs:simpleType name="ImportanceChoicesType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Low"/>
    <xs:enumeration value="Normal"/>
    <xs:enumeration value="High"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Type of body returned -->
    <xs:simpleType name="BodyTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="HTML"/>
    <xs:enumeration value="Text"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Body content with body type attribute -->
    <xs:complexType name="BodyType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="BodyType" type="t:BodyTypeType" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <!-- Folder Service types. -->
    <!-- Folder Ids -->
    <xs:complexType name="BaseFolderIdType" abstract="true">
    <xs:annotation>
    <xs:documentation>Utility type which should never appear in user documents</xs:documentation>
    </xs:annotation>
    </xs:complexType>

    <!-- Folder classes -->
    <xs:simpleType name="FolderClassType">
    <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:simpleType name="DistinguishedFolderIdNameType">
    <xs:annotation>
    <xs:documentation>URIs for the distinguished folders accessible from a mailbox</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="calendar"/>
    <xs:enumeration value="contacts"/>
    <xs:enumeration value="deleteditems"/>
    <xs:enumeration value="drafts"/>
    <xs:enumeration value="inbox"/>
    <xs:enumeration value="journal"/>
    <xs:enumeration value="notes"/>
    <xs:enumeration value="outbox"/>
    <xs:enumeration value="sentitems"/>
    <xs:enumeration value="tasks"/>
    <xs:enumeration value="msgfolderroot"/>
    <xs:enumeration value="publicfoldersroot"/>
    <xs:enumeration value="root"/>
    <xs:enumeration value="junkemail"/>
    <xs:enumeration value="searchfolders"/>
    <xs:enumeration value="voicemail"/>
    <xs:enumeration value="recoverableitemsroot"/>
    <xs:enumeration value="recoverableitemsdeletions"/>
    <xs:enumeration value="recoverableitemsversions"/>
    <xs:enumeration value="recoverableitemspurges"/>
    <xs:enumeration value="archiveroot"/>
    <xs:enumeration value="archivemsgfolderroot"/>
    <xs:enumeration value="archivedeleteditems"/>
    <xs:enumeration value="archiverecoverableitemsroot"/>
    <xs:enumeration value="archiverecoverableitemsdeletions"/>
    <xs:enumeration value="archiverecoverableitemsversions"/>
    <xs:enumeration value="archiverecoverableitemspurges"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="DistinguishedFolderIdType">
    <xs:annotation>
    <xs:documentation>Identifier for a distinguished folder</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseFolderIdType">
    <xs:sequence>
    <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Id" type="t:DistinguishedFolderIdNameType" use="required"/>
    <xs:attribute name="ChangeKey" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="FolderIdType">
    <xs:annotation>
    <xs:documentation>Identifier for a fully resolved folder</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseFolderIdType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="ChangeKey" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfBaseFolderIdsType">
    <xs:choice maxOccurs="unbounded" minOccurs="1">
    <xs:element name="FolderId" type="t:FolderIdType"/>
    <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="TargetFolderIdType">
    <xs:choice>
    <xs:element name="FolderId" type="t:FolderIdType"/>
    <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/>
    </xs:choice>
    </xs:complexType>

    <!-- UploadItems types -->
    <xs:complexType name="NonEmptyArrayOfUploadItemsType">
    <xs:sequence>
    <xs:element name="Item" type="t:UploadItemType" maxOccurs="unbounded" minOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <!-- UploadItemType-->
    <xs:complexType name="UploadItemType">
    <xs:sequence>
    <xs:element name="ParentFolderId" type="t:FolderIdType" maxOccurs="1" minOccurs="1"/>
    <xs:element name="ItemId" type="t:ItemIdType" maxOccurs="1" minOccurs="0"/>
    <xs:element name="Data" type="xs:base64Binary" maxOccurs="1" minOccurs="1"/>
    </xs:sequence>
    <xs:attribute name="CreateAction" type="t:CreateActionType" use="required"/>
    <xs:attribute name="IsAssociated" type="xs:boolean" use="optional"/>
    </xs:complexType>

    <!-- CreateActionType -->
    <xs:simpleType name="CreateActionType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="CreateNew"/>
    <xs:enumeration value="Update"/>
    <xs:enumeration value="UpdateOrCreate"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- CompleteActionType -->
    <xs:simpleType name="CompleteActionType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Commit"/>
    <xs:enumeration value="Abandon"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Find Folder/Item/Search supporting types -->
    <!-- When returning offset information for FindFolder/FindItem, we need to indicate where we
    are in the result set. For the different paging mechanisms we need to indicate this in
    different ways. The only common paging types between FindFolder and FindItem are indexed and
    fractional.
    -->
    <xs:attributeGroup name="FindResponsePagingAttributes">
    <xs:attribute name="IndexedPagingOffset" type="xs:int" use="optional"/>
    <xs:attribute name="NumeratorOffset" type="xs:int" use="optional"/>
    <xs:attribute name="AbsoluteDenominator" type="xs:int" use="optional"/>
    <xs:attribute name="IncludesLastItemInRange" type="xs:boolean" use="optional"/>
    <xs:attribute name="TotalItemsInView" type="xs:int" use="optional"/>
    </xs:attributeGroup>

    <!-- FindFolder response element for holding the results from a single parent -->
    <xs:complexType name="FindFolderParentType">
    <xs:sequence>
    <xs:element name="Folders" type="t:ArrayOfFoldersType" minOccurs="0"/>
    </xs:sequence>
    <xs:attributeGroup ref="t:FindResponsePagingAttributes"/>
    </xs:complexType>

    <!-- Basic information in a folder definition -->
    <xs:complexType name="BaseFolderType" abstract="true">
    <xs:sequence>
    <xs:element name="FolderId" type="t:FolderIdType" minOccurs="0"/>
    <xs:element name="ParentFolderId" type="t:FolderIdType" minOccurs="0"/>
    <xs:element name="FolderClass" type="xs:string" minOccurs="0"/>
    <xs:element name="DisplayName" type="xs:string" minOccurs="0"/>
    <xs:element name="TotalCount" type="xs:int" minOccurs="0"/>
    <xs:element name="ChildFolderCount" type="xs:int" minOccurs="0"/>
    <xs:element name="ExtendedProperty" type="t:ExtendedPropertyType" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="ManagedFolderInformation" type="t:ManagedFolderInformationType" minOccurs="0"/>
    <xs:element name="EffectiveRights" type="t:EffectiveRightsType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <!-- ManagedFolderInformation property type -->
    <xs:complexType name="ManagedFolderInformationType">
    <xs:annotation>
    <xs:documentation>Compound property for Managed Folder related information for Managed Folders.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
    <xs:element name="CanDelete" type="xs:boolean" minOccurs="0"/>
    <xs:element name="CanRenameOrMove" type="xs:boolean" minOccurs="0"/>
    <xs:element name="MustDisplayComment" type="xs:boolean" minOccurs="0"/>
    <xs:element name="HasQuota" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsManagedFoldersRoot" type="xs:boolean" minOccurs="0"/>
    <xs:element name="ManagedFolderId" type="xs:string" minOccurs="0"/>
    <xs:element name="Comment" type="xs:string" minOccurs="0"/>
    <xs:element name="StorageQuota" type="xs:int" minOccurs="0"/>
    <xs:element name="FolderSize" type="xs:int" minOccurs="0"/>
    <xs:element name="HomePage" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FolderType">
    <xs:complexContent>
    <xs:extension base="t:BaseFolderType">
    <xs:sequence>
    <xs:element name="PermissionSet" type="t:PermissionSetType" minOccurs="0"/>
    <xs:element name="UnreadCount" type="xs:int" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Calendar Folder Type-->
    <xs:complexType name="CalendarFolderType">
    <xs:complexContent>
    <xs:extension base="t:BaseFolderType">
    <xs:sequence>
    <xs:element name="SharingEffectiveRights" type="t:CalendarPermissionReadAccessType" minOccurs="0"/>
    <xs:element name="PermissionSet" type="t:CalendarPermissionSetType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Contacts Folder Type-->
    <xs:complexType name="ContactsFolderType">
    <xs:complexContent>
    <xs:extension base="t:BaseFolderType">
    <xs:sequence>
    <xs:element name="SharingEffectiveRights" type="t:PermissionReadAccessType" minOccurs="0"/>
    <xs:element name="PermissionSet" type="t:PermissionSetType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Search Folder Type-->
    <xs:complexType name="SearchFolderType">
    <xs:complexContent>
    <xs:extension base="t:FolderType">
    <xs:sequence>
    <xs:element name="SearchParameters" type="t:SearchParametersType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Tasks Folder Type-->
    <xs:complexType name="TasksFolderType">
    <xs:complexContent>
    <xs:extension base="t:FolderType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfFoldersType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
    <xs:element name="Folder" type="t:FolderType"/>
    <xs:element name="CalendarFolder" type="t:CalendarFolderType"/>
    <xs:element name="ContactsFolder" type="t:ContactsFolderType"/>
    <xs:element name="SearchFolder" type="t:SearchFolderType"/>
    <xs:element name="TasksFolder" type="t:TasksFolderType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="ArrayOfFoldersType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="Folder" type="t:FolderType"/>
    <xs:element name="CalendarFolder" type="t:CalendarFolderType"/>
    <xs:element name="ContactsFolder" type="t:ContactsFolderType"/>
    <xs:element name="SearchFolder" type="t:SearchFolderType"/>
    <xs:element name="TasksFolder" type="t:TasksFolderType"/>
    </xs:choice>
    </xs:complexType>

    <!-- Item Service types. -->
    <xs:complexType name="BaseItemIdType" abstract="true">
    <xs:annotation>
    <xs:documentation>Abstract base type for item identifiers. Should never be used in web service calls</xs:documentation>
    </xs:annotation>
    </xs:complexType>
    <xs:element name="BaseItemId" type="t:BaseItemIdType"/>

    <xs:simpleType name="DerivedItemIdType">
    <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <xs:complexType name="ItemIdType">
    <xs:annotation>
    <xs:documentation>Identifier for a fully resolved item</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseItemIdType">
    <xs:attribute name="Id" type="xs:string" use="required"/>
    <xs:attribute name="ChangeKey" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfBaseItemIdsType">
    <xs:choice minOccurs="1" maxOccurs="unbounded">
    <xs:element name="ItemId" type="t:ItemIdType"/>
    <xs:element name="OccurrenceItemId" type="t:OccurrenceItemIdType"/>
    <xs:element name="RecurringMasterItemId" type="t:RecurringMasterItemIdType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="ArrayOfBaseItemIdsType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="ItemId" type="t:ItemIdType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfItemIdsType">
    <xs:sequence>
    <xs:element name="ItemId" type="t:ItemIdType" maxOccurs="unbounded" minOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Item classes -->
    <xs:simpleType name="ItemClassType">
    <xs:restriction base="xs:string"/>
    </xs:simpleType>

    <!--Reply objects-->
    <xs:complexType name="ResponseObjectCoreType" abstract="true">
    <xs:annotation>
    <xs:documentation>
    Internal abstract base type for reply objects.
    Should not appear in client code
    </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:MessageType">
    <xs:sequence>
    <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ResponseObjectType" abstract="true">
    <xs:annotation>
    <xs:documentation>Abstract base type for reply objects</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:ResponseObjectCoreType">
    <xs:attribute name="ObjectName" type="xs:string" use="optional">
    <xs:annotation>
    <xs:documentation>
    The name of this reply object class as an English string. The client
    application is required to translate it if it's running in a different locale
    </xs:documentation>
    </xs:annotation>
    </xs:attribute>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!--The wrapper around all reply object types-->
    <xs:complexType name="NonEmptyArrayOfResponseObjectsType">
    <xs:choice maxOccurs="unbounded" minOccurs="0">
    <xs:element name="AcceptItem" type="t:AcceptItemType"/>
    <xs:element name="TentativelyAcceptItem" type="t:TentativelyAcceptItemType"/>
    <xs:element name="DeclineItem" type="t:DeclineItemType"/>
    <xs:element name="ReplyToItem" type="t:ReplyToItemType"/>
    <xs:element name="ForwardItem" type="t:ForwardItemType"/>
    <xs:element name="ReplyAllToItem" type="t:ReplyAllToItemType"/>
    <xs:element name="CancelCalendarItem" type="t:CancelCalendarItemType"/>
    <xs:element name="RemoveItem" type="t:RemoveItemType"/>
    <xs:element name="SuppressReadReceipt" type="t:SuppressReadReceiptType"/>
    <xs:element name="PostReplyItem" type="t:PostReplyItemType"/>
    <xs:element name="AcceptSharingInvitation" type="t:AcceptSharingInvitationType"/>
    </xs:choice>
    </xs:complexType>

    <!-- Updating an folder. Represents a set of changes to a single folder -->
    <xs:complexType name="FolderChangeType">
    <xs:sequence>
    <xs:choice>
    <xs:element name="FolderId" type="t:FolderIdType"/>
    <xs:element name="DistinguishedFolderId" type="t:DistinguishedFolderIdType"/>
    </xs:choice>
    <xs:element name="Updates" type="t:NonEmptyArrayOfFolderChangeDescriptionsType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfFolderChangesType">
    <xs:sequence>
    <xs:element name="FolderChange" type="t:FolderChangeType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Generic response to deleting a folder -->
    <!-- Some well-known reply objects -->
    <xs:complexType name="WellKnownResponseObjectType">
    <xs:complexContent>
    <xs:restriction base="t:ResponseObjectType">
    <xs:sequence>
    <xs:element name="ItemClass" type="t:ItemClassType" minOccurs="0"/>
    <xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0"/>
    <xs:element name="Body" type="t:BodyType" minOccurs="0"/>
    <xs:element name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" minOccurs="0"/>
    <xs:element name="InternetMessageHeaders" type="t:NonEmptyArrayOfInternetHeadersType" minOccurs="0"/>
    <xs:element name="Sender" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="From" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ObjectName" type="xs:string" use="prohibited"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <!-- Smart reponses: ReplyToItem, ReplyAllToItem, ForwardItem-->
    <xs:complexType name="SmartResponseBaseType">
    <xs:complexContent>
    <xs:restriction base="t:ResponseObjectType">
    <xs:sequence>
    <xs:element name="Subject" type="xs:string" minOccurs="0"/>
    <xs:element name="Body" type="t:BodyType" minOccurs="0"/>
    <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="From" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ObjectName" type="xs:string" use="prohibited"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="SmartResponseType">
    <xs:complexContent>
    <xs:extension base="t:SmartResponseBaseType">
    <xs:sequence>
    <xs:element name="NewBodyContent" type="t:BodyType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <!-- Distinguish the various kinds of responses which differ only in name by making them -->
    <!-- have types which all extend the same base types trivially -->
    <xs:complexType name="ReplyToItemType">
    <xs:complexContent>
    <xs:extension base="t:SmartResponseType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ReplyAllToItemType">
    <xs:complexContent>
    <xs:extension base="t:SmartResponseType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="ForwardItemType">
    <xs:complexContent>
    <xs:extension base="t:SmartResponseType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="CancelCalendarItemType">
    <xs:complexContent>
    <xs:extension base="t:SmartResponseType"/>
    </xs:complexContent>
    </xs:complexType>

    <!-- Reference Item response object -->

    <xs:complexType name="ReferenceItemResponseType">
    <xs:complexContent>
    <xs:restriction base="t:ResponseObjectType">
    <xs:sequence>
    <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ObjectName" type="xs:string" use="prohibited"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="SuppressReadReceiptType">
    <xs:complexContent>
    <xs:extension base="t:ReferenceItemResponseType"/>
    </xs:complexContent>
    </xs:complexType>

    <!-- FindItem response element for holding the results from a single parent -->
    <xs:complexType name="FindItemParentType">
    <xs:choice>
    <xs:element name="Items" type="t:ArrayOfRealItemsType"/>
    <xs:element name="Groups" type="t:ArrayOfGroupedItemsType"/>
    </xs:choice>
    <xs:attributeGroup ref="t:FindResponsePagingAttributes"/>
    </xs:complexType>

    <!-- Core contents of an item. -->
    <xs:complexType name="ItemType">
    <xs:sequence>
    <xs:element name="MimeContent" type="t:MimeContentType" minOccurs="0"/>
    <xs:element name="ItemId" type="t:ItemIdType" minOccurs="0"/>
    <xs:element name="ParentFolderId" type="t:FolderIdType" minOccurs="0"/>
    <xs:element name="ItemClass" type="t:ItemClassType" minOccurs="0"/>
    <xs:element name="Subject" type="xs:string" minOccurs="0"/>
    <xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0"/>
    <xs:element name="Body" type="t:BodyType" minOccurs="0"/>
    <xs:element name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" minOccurs="0"/>
    <xs:element name="DateTimeReceived" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="Size" type="xs:int" minOccurs="0"/>
    <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0"/>
    <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0"/>
    <xs:element name="InReplyTo" type="xs:string" minOccurs="0"/>
    <xs:element name="IsSubmitted" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsDraft" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsFromMe" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsResend" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsUnmodified" type="xs:boolean" minOccurs="0"/>
    <xs:element name="InternetMessageHeaders" type="t:NonEmptyArrayOfInternetHeadersType" minOccurs="0"/>
    <xs:element name="DateTimeSent" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="DateTimeCreated" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="ResponseObjects" type="t:NonEmptyArrayOfResponseObjectsType" minOccurs="0"/>
    <xs:element name="ReminderDueBy" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="ReminderIsSet" type="xs:boolean" minOccurs="0"/>
    <xs:element name="ReminderMinutesBeforeStart" type="t:ReminderMinutesBeforeStartType" minOccurs="0"/>
    <xs:element name="DisplayCc" type="xs:string" minOccurs="0"/>
    <xs:element name="DisplayTo" type="xs:string" minOccurs="0"/>
    <xs:element name="HasAttachments" type="xs:boolean" minOccurs="0"/>
    <xs:element name="ExtendedProperty" type="t:ExtendedPropertyType" minOccurs="0" maxOccurs="unbounded"/>
    <xs:element name="Culture" type="xs:language" minOccurs="0"/>
    <xs:element name="EffectiveRights" type="t:EffectiveRightsType" minOccurs="0"/>
    <xs:element name="LastModifiedName" type="xs:string" minOccurs="0"/>
    <xs:element name="LastModifiedTime" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="IsAssociated" type="xs:boolean" minOccurs="0"/>
    <xs:element name="WebClientReadFormQueryString" type="xs:string" minOccurs="0"/>
    <xs:element name="WebClientEditFormQueryString" type="xs:string" minOccurs="0"/>
    <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="0"/>
    <xs:element name="UniqueBody" type="t:BodyType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfItemClassType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="ItemClass" type="t:ItemClassType"/>
    </xs:choice>
    </xs:complexType>

    <xs:simpleType name="FlagStatusType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="NotFlagged"/>
    <xs:enumeration value="Flagged"/>
    <xs:enumeration value="Complete"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ConversationActionTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="AlwaysCategorize"/>
    <xs:enumeration value="AlwaysDelete"/>
    <xs:enumeration value="AlwaysMove"/>
    <xs:enumeration value="Delete"/>
    <xs:enumeration value="Move"/>
    <xs:enumeration value="Copy"/>
    <xs:enumeration value="SetReadState"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ConversationActionType">
    <xs:sequence>
    <xs:element name="Action" type="t:ConversationActionTypeType" minOccurs="1" maxOccurs="1"/>
    <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="1" maxOccurs="1"/>
    <xs:element name="ContextFolderId" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ConversationLastSyncTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
    <xs:element name="ProcessRightAway" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="DestinationFolderId" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="EnableAlwaysDelete" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="IsRead" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
    <xs:element name="DeleteType" type="t:DisposalType" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfApplyConversationActionType">
    <xs:sequence>
    <xs:element name="ConversationAction" type="t:ConversationActionType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ConversationType">
    <xs:sequence>
    <xs:element name="ConversationId" type="t:ItemIdType" minOccurs="0"/>
    <xs:element name="ConversationTopic" type="xs:string" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMVTo-->
    <xs:element name="UniqueRecipients" type="t:ArrayOfStringsType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalMVTo-->
    <xs:element name="GlobalUniqueRecipients" type="t:ArrayOfStringsType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMVUnreadFrom-->
    <xs:element name="UniqueUnreadSenders" type="t:ArrayOfStringsType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalMVUnreadFrom-->
    <xs:element name="GlobalUniqueUnreadSenders" type="t:ArrayOfStringsType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMVFrom-->
    <xs:element name="UniqueSenders" type="t:ArrayOfStringsType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationMVFrom-->
    <xs:element name="GlobalUniqueSenders" type="t:ArrayOfStringsType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationLastDeliveryTime-->
    <xs:element name="LastDeliveryTime" type="xs:dateTime" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalLastDeliveryTime-->
    <xs:element name="GlobalLastDeliveryTime" type="xs:dateTime" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationCategories-->
    <xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalCategories-->
    <xs:element name="GlobalCategories" type="t:ArrayOfStringsType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationFlagStatus-->
    <xs:element name="FlagStatus" type="t:FlagStatusType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalFlagStatus-->
    <xs:element name="GlobalFlagStatus" type="t:FlagStatusType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationHasAttach-->
    <xs:element name="HasAttachments" type="xs:boolean" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalHasAttach-->
    <xs:element name="GlobalHasAttachments" type="xs:boolean" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMessageCount-->
    <xs:element name="MessageCount" type="xs:int" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalMessageCount-->
    <xs:element name="GlobalMessageCount" type="xs:int" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationUnreadMessageCount-->
    <xs:element name="UnreadCount" type="xs:int" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalUnreadMessageCount-->
    <xs:element name="GlobalUnreadCount" type="xs:int" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMessageSize-->
    <xs:element name="Size" type="xs:int" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalMessageSize-->
    <xs:element name="GlobalSize" type="xs:int" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationMessageClasses-->
    <xs:element name="ItemClasses" type="t:ArrayOfItemClassType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalMessageClasses-->
    <xs:element name="GlobalItemClasses" type="t:ArrayOfItemClassType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationImportance-->
    <xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalImportance-->
    <xs:element name="GlobalImportance" type="t:ImportanceChoicesType" minOccurs="0"/>

    <!-- Maps to ConversationItemSchema.ConversationItemIds-->
    <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" minOccurs="0"/>
    <!-- Maps to ConversationItemSchema.ConversationGlobalItemIds-->
    <xs:element name="GlobalItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" minOccurs="0"/>

    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfConversationsType">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="Conversation" type="t:ConversationType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="ArrayOfStringsType">
    <xs:sequence>
    <xs:element name="String" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfRealItemsType">
    <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="DistributionList" type="t:DistributionListType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfAllItemsType">
    <xs:sequence>
    <xs:choice minOccurs="1" maxOccurs="unbounded">
    <xs:element name="Item" type="t:ItemType"/>
    <xs:element name="Message" type="t:MessageType"/>
    <xs:element name="CalendarItem" type="t:CalendarItemType"/>
    <xs:element name="Contact" type="t:ContactItemType"/>
    <xs:element name="DistributionList" type="t:DistributionListType"/>
    <xs:element name="MeetingMessage" type="t:MeetingMessageType"/>
    <xs:element name="MeetingRequest" type="t:MeetingRequestMessageType"/>
    <xs:element name="MeetingResponse" type="t:MeetingResponseMessageType"/>
    <xs:element name="MeetingCancellation" type="t:MeetingCancellationMessageType"/>
    <xs:element name="Task" type="t:TaskType"/>
    <xs:element name="PostItem" type="t:PostItemType"/>
    <xs:element name="ReplyToItem" type="t:ReplyToItemType"/>
    <xs:element name="ForwardItem" type="t:ForwardItemType"/>
    <xs:element name="ReplyAllToItem" type="t:ReplyAllToItemType"/>
    <xs:element name="AcceptItem" type="t:AcceptItemType"/>
    <xs:element name="TentativelyAcceptItem" type="t:TentativelyAcceptItemType"/>
    <xs:element name="DeclineItem" type="t:DeclineItemType"/>
    <xs:element name="CancelCalendarItem" type="t:CancelCalendarItemType"/>
    <xs:element name="RemoveItem" type="t:RemoveItemType"/>
    <xs:element name="SuppressReadReceipt" type="t:SuppressReadReceiptType"/>
    <xs:element name="PostReplyItem" type="t:PostReplyItemType"/>
    <xs:element name="AcceptSharingInvitation" type="t:AcceptSharingInvitationType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AcceptItemType">
    <xs:complexContent>
    <xs:extension base="t:WellKnownResponseObjectType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TentativelyAcceptItemType">
    <xs:complexContent>
    <xs:extension base="t:WellKnownResponseObjectType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="DeclineItemType">
    <xs:complexContent>
    <xs:extension base="t:WellKnownResponseObjectType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RemoveItemType">
    <xs:complexContent>
    <xs:extension base="t:ResponseObjectType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PostReplyItemBaseType">
    <xs:complexContent>
    <xs:restriction base="t:ResponseObjectType">
    <xs:sequence>
    <xs:element name="Subject" type="xs:string" minOccurs="0"/>
    <xs:element name="Body" type="t:BodyType" minOccurs="0"/>
    <xs:element name="ReferenceItemId" type="t:ItemIdType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="ObjectName" type="xs:string" use="prohibited"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PostReplyItemType">
    <xs:complexContent>
    <xs:extension base="t:PostReplyItemBaseType">
    <xs:sequence>
    <xs:element name="NewBodyContent" type="t:BodyType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Mime content support -->
    <xs:complexType name="MimeContentType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="CharacterSet" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <!-- Special items for creating and updating items -->

    <xs:simpleType name="MessageDispositionType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="SaveOnly"/>
    <xs:enumeration value="SendOnly"/>
    <xs:enumeration value="SendAndSaveCopy"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CalendarItemCreateOrDeleteOperationType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="SendToNone"/>
    <xs:enumeration value="SendOnlyToAll"/>
    <xs:enumeration value="SendToAllAndSaveCopy"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CalendarItemUpdateOperationType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="SendToNone"/>
    <xs:enumeration value="SendOnlyToAll"/>
    <xs:enumeration value="SendOnlyToChanged"/>
    <xs:enumeration value="SendToAllAndSaveCopy"/>
    <xs:enumeration value="SendToChangedAndSaveCopy"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="AffectedTaskOccurrencesType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="AllOccurrences"/>
    <xs:enumeration value="SpecifiedOccurrenceOnly"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- - - - - - - - - - - - - - - - - - - -->
    <!-- Message type: derived from item -->
    <!-- - - - - - - - - - - - - - - - - - - -->
    <xs:complexType name="MessageType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>
    <xs:element name="Sender" minOccurs="0" type="t:SingleRecipientType"/>
    <xs:element name="ToRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="CcRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="BccRecipients" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="IsReadReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsDeliveryReceiptRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="ConversationIndex" type="xs:base64Binary" minOccurs="0"/>
    <xs:element name="ConversationTopic" type="xs:string" minOccurs="0"/>
    <xs:element name="From" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="InternetMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="IsRead" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsResponseRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="References" type="xs:string" minOccurs="0"/>
    <xs:element name="ReplyTo" type="t:ArrayOfRecipientsType" minOccurs="0"/>
    <xs:element name="ReceivedBy" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="ReceivedRepresenting" type="t:SingleRecipientType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:simpleType name="TaskStatusType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="NotStarted"/>
    <xs:enumeration value="InProgress"/>
    <xs:enumeration value="Completed"/>
    <xs:enumeration value="WaitingOnOthers"/>
    <xs:enumeration value="Deferred"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="TaskDelegateStateType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="NoMatch"/>
    <xs:enumeration value="OwnNew"/>
    <xs:enumeration value="Owned"/>
    <xs:enumeration value="Accepted"/>
    <xs:enumeration value="Declined"/>
    <xs:enumeration value="Max"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="TaskType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>
    <xs:element name="ActualWork" type="xs:int" minOccurs="0"/>
    <xs:element name="AssignedTime" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="BillingInformation" type="xs:string" minOccurs="0"/>
    <xs:element name="ChangeCount" type="xs:int" minOccurs="0"/>
    <xs:element name="Companies" type="t:ArrayOfStringsType" minOccurs="0"/>
    <xs:element name="CompleteDate" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="Contacts" type="t:ArrayOfStringsType" minOccurs="0"/>
    <xs:element name="DelegationState" type="t:TaskDelegateStateType" minOccurs="0"/>
    <xs:element name="Delegator" type="xs:string" minOccurs="0"/>
    <xs:element name="DueDate" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="IsAssignmentEditable" type="xs:int" minOccurs="0"/>
    <xs:element name="IsComplete" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsTeamTask" type="xs:boolean" minOccurs="0"/>
    <xs:element name="Mileage" type="xs:string" minOccurs="0"/>
    <xs:element name="Owner" type="xs:string" minOccurs="0"/>
    <xs:element name="PercentComplete" type="xs:double" minOccurs="0"/>
    <xs:element name="Recurrence" type="t:TaskRecurrenceType" minOccurs="0"/>
    <xs:element name="StartDate" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="Status" type="t:TaskStatusType" minOccurs="0"/>
    <xs:element name="StatusDescription" type="xs:string" minOccurs="0"/>
    <xs:element name="TotalWork" type="xs:int" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="PostItemType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>
    <xs:element name="ConversationIndex" type="xs:base64Binary" minOccurs="0"/>
    <xs:element name="ConversationTopic" type="xs:string" minOccurs="0"/>
    <!-- From property can only be set at creation time -->
    <xs:element name="From" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="InternetMessageId" type="xs:string" minOccurs="0"/>
    <xs:element name="IsRead" type="xs:boolean" minOccurs="0"/>
    <!-- PostedTime is read only -->
    <xs:element name="PostedTime" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="References" type="xs:string" minOccurs="0"/>
    <!-- Sender can only be set at creation time -->
    <xs:element name="Sender" type="t:SingleRecipientType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Paging specification -->
    <xs:complexType name="BasePagingType" abstract="true">
    <xs:attribute name="MaxEntriesReturned" type="xs:int" use="optional"/>
    </xs:complexType>

    <xs:simpleType name="IndexBasePointType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Beginning"/>
    <xs:enumeration value="End"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="IndexedPageViewType">
    <xs:complexContent>
    <xs:extension base="t:BasePagingType">
    <xs:attribute name="Offset" type="xs:int" use="required"/>
    <xs:attribute name="BasePoint" type="t:IndexBasePointType" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="FractionalPageViewType">
    <xs:complexContent>
    <xs:extension base="t:BasePagingType">
    <xs:attribute name="Numerator" type="xs:int" use="required"/>
    <xs:attribute name="Denominator" type="xs:int" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="CalendarViewType">
    <xs:complexContent>
    <xs:extension base="t:BasePagingType">
    <xs:attribute name="StartDate" type="xs:dateTime" use="required"/>
    <xs:attribute name="EndDate" type="xs:dateTime" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ContactsViewType">
    <xs:complexContent>
    <xs:extension base="t:BasePagingType">
    <xs:attribute name="InitialName" type="xs:string" use="optional"/>
    <xs:attribute name="FinalName" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Util Service Types. -->

    <!-- ResolveNames request -->

    <xs:simpleType name="ResolveNamesSearchScopeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="ActiveDirectory"/>
    <xs:enumeration value="ActiveDirectoryContacts"/>
    <xs:enumeration value="Contacts"/>
    <xs:enumeration value="ContactsActiveDirectory"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- ResolveNames response -->

    <xs:complexType name="ResolutionType">
    <xs:sequence>
    <xs:element name="Mailbox" type="t:EmailAddressType"/>
    <xs:element name="Contact" type="t:ContactItemType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfResolutionType">
    <xs:sequence>
    <xs:element name="Resolution" type="t:ResolutionType" minOccurs="0" maxOccurs="100"/>
    </xs:sequence>
    <xs:attributeGroup ref="t:FindResponsePagingAttributes"/>
    </xs:complexType>

    <!-- DLExpansion response -->

    <xs:complexType name="ArrayOfDLExpansionType">
    <xs:sequence>
    <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attributeGroup ref="t:FindResponsePagingAttributes"/>
    </xs:complexType>

    <!-- end of DLExpansion -->

    <!-- GetServerTimeZones response -->

    <xs:complexType name="NonEmptyArrayOfTimeZoneIdType">
    <xs:sequence>
    <xs:element name="Id" type="xs:string" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfTimeZoneDefinitionType">
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
    <xs:element name="TimeZoneDefinition" type="t:TimeZoneDefinitionType"/>
    </xs:sequence>
    </xs:complexType>

    <!-- end of GetServerTimeZones -->

    <!-- MeetingMessage types -->
    <xs:simpleType name="MeetingRequestTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="None"/>
    <xs:enumeration value="FullUpdate"/>
    <xs:enumeration value="InformationalUpdate"/>
    <xs:enumeration value="NewMeetingRequest"/>
    <xs:enumeration value="Outdated"/>
    <xs:enumeration value="SilentUpdate"/>
    <xs:enumeration value="PrincipalWantsCopy"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- CalendarItem Types -->

    <xs:simpleType name="ReminderMinutesBeforeStartType">
    <xs:union>
    <xs:simpleType id="ReminderMinutesBeforeStartType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="0"/>
    <xs:maxInclusive value="2629800"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:simpleType id="ReminderMinutesBeforeStartMarkerType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="1525252321"/>
    <xs:maxInclusive value="1525252321"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:union>
    </xs:simpleType>

    <!-- Enumeration types -->

    <xs:simpleType name="LegacyFreeBusyType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Free"/>
    <xs:enumeration value="Tentative"/>
    <xs:enumeration value="Busy"/>
    <xs:enumeration value="OOF"/>
    <xs:enumeration value="NoData"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="CalendarItemTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Single"/>
    <xs:enumeration value="Occurrence"/>
    <xs:enumeration value="Exception"/>
    <xs:enumeration value="RecurringMaster"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ResponseTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Unknown"/>
    <xs:enumeration value="Organizer"/>
    <xs:enumeration value="Tentative"/>
    <xs:enumeration value="Accept"/>
    <xs:enumeration value="Decline"/>
    <xs:enumeration value="NoResponseReceived"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Representation of attendees -->

    <xs:complexType name="AttendeeType">
    <xs:sequence>
    <xs:element name="Mailbox" type="t:EmailAddressType"/>
    <xs:element name="ResponseType" type="t:ResponseTypeType" minOccurs="0"/>
    <xs:element name="LastResponseTime" type="xs:dateTime" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfAttendeesType">
    <xs:sequence>
    <xs:element name="Attendee" type="t:AttendeeType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Special item ids for interconverting between instances and masters -->

    <xs:complexType name="OccurrenceItemIdType">
    <xs:complexContent>
    <xs:extension base="t:BaseItemIdType">
    <xs:attribute name="RecurringMasterId" type="t:DerivedItemIdType" use="required"/>
    <xs:attribute name="ChangeKey" type="xs:string" use="optional"/>
    <xs:attribute name="InstanceIndex" type="xs:int" use="required"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RecurringMasterItemIdType">
    <xs:complexContent>
    <xs:extension base="t:BaseItemIdType">
    <xs:attribute name="OccurrenceId" type="t:DerivedItemIdType" use="required"/>
    <xs:attribute name="ChangeKey" type="xs:string" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Days of the week and months-->

    <xs:simpleType name="DayOfWeekType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Sunday"/>
    <xs:enumeration value="Monday"/>
    <xs:enumeration value="Tuesday"/>
    <xs:enumeration value="Wednesday"/>
    <xs:enumeration value="Thursday"/>
    <xs:enumeration value="Friday"/>
    <xs:enumeration value="Saturday"/>
    <xs:enumeration value="Day"/>
    <xs:enumeration value="Weekday"/>
    <xs:enumeration value="WeekendDay"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="DaysOfWeekType">
    <xs:list itemType="t:DayOfWeekType"/>
    </xs:simpleType>

    <xs:simpleType name="DayOfWeekIndexType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="First"/>
    <xs:enumeration value="Second"/>
    <xs:enumeration value="Third"/>
    <xs:enumeration value="Fourth"/>
    <xs:enumeration value="Last"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="MonthNamesType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="January"/>
    <xs:enumeration value="February"/>
    <xs:enumeration value="March"/>
    <xs:enumeration value="April"/>
    <xs:enumeration value="May"/>
    <xs:enumeration value="June"/>
    <xs:enumeration value="July"/>
    <xs:enumeration value="August"/>
    <xs:enumeration value="September"/>
    <xs:enumeration value="October"/>
    <xs:enumeration value="November"/>
    <xs:enumeration value="December"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Recurrence pattern types -->

    <xs:complexType name="RecurrencePatternBaseType" abstract="true"/>

    <xs:complexType name="IntervalRecurrencePatternBaseType" abstract="true">
    <xs:complexContent>
    <xs:extension base="t:RecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="Interval" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!--
    Base regeneration pattern type for tasks.
    -->

    <xs:complexType name="RegeneratingPatternBaseType" abstract="true">
    <xs:complexContent>
    <xs:extension base="t:IntervalRecurrencePatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DailyRegeneratingPatternType">
    <xs:complexContent>
    <xs:extension base="t:RegeneratingPatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="WeeklyRegeneratingPatternType">
    <xs:complexContent>
    <xs:extension base="t:RegeneratingPatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="MonthlyRegeneratingPatternType">
    <xs:complexContent>
    <xs:extension base="t:RegeneratingPatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="YearlyRegeneratingPatternType">
    <xs:complexContent>
    <xs:extension base="t:RegeneratingPatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <!-- Realizable Recurrence pattern types -->

    <xs:complexType name="RelativeYearlyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:RecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="DaysOfWeek" type="t:DayOfWeekType"/>
    <xs:element name="DayOfWeekIndex" type="t:DayOfWeekIndexType"/>
    <xs:element name="Month" type="t:MonthNamesType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AbsoluteYearlyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:RecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="DayOfMonth" type="xs:int"/>
    <xs:element name="Month" type="t:MonthNamesType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RelativeMonthlyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:IntervalRecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="DaysOfWeek" type="t:DayOfWeekType"/>
    <xs:element name="DayOfWeekIndex" type="t:DayOfWeekIndexType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AbsoluteMonthlyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:IntervalRecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="DayOfMonth" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="WeeklyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:IntervalRecurrencePatternBaseType">
    <xs:sequence>
    <xs:element name="DaysOfWeek" type="t:DaysOfWeekType"/>
    <xs:element name="FirstDayOfWeek" type="t:DayOfWeekType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="DailyRecurrencePatternType">
    <xs:complexContent>
    <xs:extension base="t:IntervalRecurrencePatternBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <!-- Description of a time zone -->

    <xs:group name="TimeChangePatternTypes">
    <xs:sequence>
    <xs:choice>
    <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType"/>
    <xs:element name="AbsoluteDate" type="xs:date"/>
    </xs:choice>
    </xs:sequence>
    </xs:group>

    <xs:complexType name="TimeChangeType">
    <xs:sequence>
    <xs:element name="Offset" type="xs:duration"/>
    <xs:group ref="t:TimeChangePatternTypes" minOccurs="0"/>
    <xs:element name="Time" type="xs:time"/>
    </xs:sequence>
    <xs:attribute name="TimeZoneName" type="xs:string" use="optional"/>
    </xs:complexType>

    <xs:complexType name="TimeZoneType">
    <xs:sequence minOccurs="0">
    <xs:element name="BaseOffset" type="xs:duration"/>
    <xs:sequence minOccurs="0">
    <xs:element name="Standard" type="t:TimeChangeType"/>
    <xs:element name="Daylight" type="t:TimeChangeType"/>
    </xs:sequence>
    </xs:sequence>
    <xs:attribute name="TimeZoneName" type="xs:string" use="optional"/>
    </xs:complexType>

    <!-- TimeZoneDefinitionContextType for Soap header -->

    <xs:complexType name="TimeZoneContextType">
    <xs:sequence>
    <xs:element name="TimeZoneDefinition" type="t:TimeZoneDefinitionType" minOccurs="1"/>
    </xs:sequence>
    <xs:anyAttribute namespace="http://schemas.xmlsoap.org/soap/envelope/">
    <xs:annotation>
    <xs:documentation>Allow attributes in the soap namespace to be used here</xs:documentation>
    </xs:annotation>
    </xs:anyAttribute>
    </xs:complexType>

    <xs:element name="TimeZoneContext" type="t:TimeZoneContextType"/>

    <!-- Time zone definition types -->

    <xs:simpleType name="TransitionTargetKindType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Period"/>
    <xs:enumeration value="Group"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="TransitionTargetType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="Kind" type="t:TransitionTargetKindType" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="TransitionType" abstract="false">
    <xs:sequence>
    <xs:element name="To" type="t:TransitionTargetType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="AbsoluteDateTransitionType">
    <xs:complexContent>
    <xs:extension base="t:TransitionType">
    <xs:sequence>
    <xs:element name="DateTime" type="xs:dateTime"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RecurringTimeTransitionType" abstract="true">
    <xs:complexContent>
    <xs:extension base="t:TransitionType">
    <xs:sequence>
    <xs:element name="TimeOffset" type="xs:duration"/>
    <xs:element name="Month" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RecurringDateTransitionType">
    <xs:complexContent>
    <xs:extension base="t:RecurringTimeTransitionType">
    <xs:sequence>
    <xs:element name="Day" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="RecurringDayTransitionType">
    <xs:complexContent>
    <xs:extension base="t:RecurringTimeTransitionType">
    <xs:sequence>
    <xs:element name="DayOfWeek" type="t:DayOfWeekType"/>
    <xs:element name="Occurrence" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:element name="Transition" type="t:TransitionType"/>
    <xs:element name="AbsoluteDateTransition" type="t:AbsoluteDateTransitionType" substitutionGroup="t:Transition"/>
    <xs:element name="RecurringDayTransition" type="t:RecurringDayTransitionType" substitutionGroup="t:Transition"/>
    <xs:element name="RecurringDateTransition" type="t:RecurringDateTransitionType" substitutionGroup="t:Transition"/>

    <!-- TimeZoneDefinition -->

    <xs:complexType name="TimeZoneDefinitionType">
    <xs:sequence minOccurs="0">
    <xs:element name="Periods" type="t:NonEmptyArrayOfPeriodsType"/>
    <xs:element name="TransitionsGroups" type="t:ArrayOfTransitionsGroupsType" minOccurs="0"/>
    <xs:element name="Transitions" type="t:ArrayOfTransitionsType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:string"/>
    <xs:attribute name="Name" type="xs:string"/>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfPeriodsType">
    <xs:sequence>
    <xs:element name="Period" type="t:PeriodType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PeriodType">
    <xs:attribute name="Bias" type="xs:duration"/>
    <xs:attribute name="Name" type="xs:string"/>
    <xs:attribute name="Id" type="xs:string"/>
    </xs:complexType>

    <xs:complexType name="ArrayOfTransitionsGroupsType">
    <xs:sequence>
    <xs:element name="TransitionsGroup" type="t:ArrayOfTransitionsType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfTransitionsType">
    <xs:sequence>
    <xs:element ref="t:Transition" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="Id" type="xs:string"/>
    </xs:complexType>

    <!-- Recurrence range types -->

    <xs:complexType name="RecurrenceRangeBaseType" abstract="true">
    <xs:sequence>
    <xs:element name="StartDate" type="xs:date"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NoEndRecurrenceRangeType">
    <xs:complexContent>
    <xs:extension base="t:RecurrenceRangeBaseType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="EndDateRecurrenceRangeType">
    <xs:complexContent>
    <xs:extension base="t:RecurrenceRangeBaseType">
    <xs:sequence>
    <xs:element name="EndDate" type="xs:date"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NumberedRecurrenceRangeType">
    <xs:complexContent>
    <xs:extension base="t:RecurrenceRangeBaseType">
    <xs:sequence>
    <xs:element name="NumberOfOccurrences" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- The real Recurrence type -->

    <xs:group name="RecurrencePatternTypes">
    <xs:sequence>
    <xs:choice>
    <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType"/>
    <xs:element name="AbsoluteYearlyRecurrence" type="t:AbsoluteYearlyRecurrencePatternType"/>
    <xs:element name="RelativeMonthlyRecurrence" type="t:RelativeMonthlyRecurrencePatternType"/>
    <xs:element name="AbsoluteMonthlyRecurrence" type="t:AbsoluteMonthlyRecurrencePatternType"/>
    <xs:element name="WeeklyRecurrence" type="t:WeeklyRecurrencePatternType"/>
    <xs:element name="DailyRecurrence" type="t:DailyRecurrencePatternType"/>
    </xs:choice>
    </xs:sequence>
    </xs:group>

    <xs:group name="TaskRecurrencePatternTypes">
    <xs:sequence>
    <xs:choice>
    <xs:element name="RelativeYearlyRecurrence" type="t:RelativeYearlyRecurrencePatternType"/>
    <xs:element name="AbsoluteYearlyRecurrence" type="t:AbsoluteYearlyRecurrencePatternType"/>
    <xs:element name="RelativeMonthlyRecurrence" type="t:RelativeMonthlyRecurrencePatternType"/>
    <xs:element name="AbsoluteMonthlyRecurrence" type="t:AbsoluteMonthlyRecurrencePatternType"/>
    <xs:element name="WeeklyRecurrence" type="t:WeeklyRecurrencePatternType"/>
    <xs:element name="DailyRecurrence" type="t:DailyRecurrencePatternType"/>
    <xs:element name="DailyRegeneration" type="t:DailyRegeneratingPatternType"/>
    <xs:element name="WeeklyRegeneration" type="t:WeeklyRegeneratingPatternType"/>
    <xs:element name="MonthlyRegeneration" type="t:MonthlyRegeneratingPatternType"/>
    <xs:element name="YearlyRegeneration" type="t:YearlyRegeneratingPatternType"/>
    </xs:choice>
    </xs:sequence>
    </xs:group>

    <xs:group name="RecurrenceRangeTypes">
    <xs:sequence>
    <xs:choice>
    <xs:element name="NoEndRecurrence" type="t:NoEndRecurrenceRangeType"/>
    <xs:element name="EndDateRecurrence" type="t:EndDateRecurrenceRangeType"/>
    <xs:element name="NumberedRecurrence" type="t:NumberedRecurrenceRangeType"/>
    </xs:choice>
    </xs:sequence>
    </xs:group>

    <xs:complexType name="RecurrenceType">
    <xs:sequence>
    <xs:group ref="t:RecurrencePatternTypes"/>
    <xs:group ref="t:RecurrenceRangeTypes"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="TaskRecurrenceType">
    <xs:sequence>
    <xs:group ref="t:TaskRecurrencePatternTypes"/>
    <xs:group ref="t:RecurrenceRangeTypes"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Individual occurrences of an expanded Recurrence -->

    <xs:complexType name="OccurrenceInfoType">
    <xs:sequence>
    <xs:element name="ItemId" type="t:ItemIdType"/>
    <xs:element name="Start" type="xs:dateTime"/>
    <xs:element name="End" type="xs:dateTime"/>
    <xs:element name="OriginalStart" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfOccurrenceInfoType">
    <xs:sequence>
    <xs:element name="Occurrence" type="t:OccurrenceInfoType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="DeletedOccurrenceInfoType">
    <xs:sequence>
    <xs:element name="Start" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfDeletedOccurrencesType">
    <xs:sequence>
    <xs:element name="DeletedOccurrence" type="t:DeletedOccurrenceInfoType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- The main calendar item from which all others derive -->

    <xs:complexType name="CalendarItemType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>

    <!-- iCalendar properties -->

    <xs:element name="UID" type="xs:string" minOccurs="0"/>
    <xs:element name="RecurrenceId" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="DateTimeStamp" type="xs:dateTime" minOccurs="0"/>

    <!-- Single and Occurrence only -->

    <xs:element name="Start" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="End" type="xs:dateTime" minOccurs="0"/>

    <!-- Occurrence only -->

    <xs:element name="OriginalStart" type="xs:dateTime" minOccurs="0"/>

    <xs:element name="IsAllDayEvent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0"/>
    <xs:element name="Location" type="xs:string" minOccurs="0"/>
    <xs:element name="When" type="xs:string" minOccurs="0"/>
    <xs:element name="IsMeeting" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsCancelled" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0"/>
    <xs:element name="MeetingRequestWasSent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsResponseRequested" type="xs:boolean" minOccurs="0"/>
    <xs:element name="CalendarItemType" type="t:CalendarItemTypeType" minOccurs="0"/>
    <xs:element name="MyResponseType" type="t:ResponseTypeType" minOccurs="0"/>
    <xs:element name="Organizer" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>
    <xs:element name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>
    <xs:element name="Resources" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>

    <!-- Conflicting and adjacent meetings -->

    <xs:element name="ConflictingMeetingCount" type="xs:int" minOccurs="0"/>
    <xs:element name="AdjacentMeetingCount" type="xs:int" minOccurs="0"/>
    <xs:element name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0"/>
    <xs:element name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0"/>

    <xs:element name="Duration" type="xs:string" minOccurs="0"/>
    <xs:element name="TimeZone" type="xs:string" minOccurs="0"/>

    <xs:element name="AppointmentReplyTime" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="AppointmentSequenceNumber" type="xs:int" minOccurs="0"/>
    <xs:element name="AppointmentState" type="xs:int" minOccurs="0"/>

    <!-- Recurrence specific data, only valid if CalendarItemType is RecurringMaster -->

    <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0"/>
    <xs:element name="FirstOccurrence" type="t:OccurrenceInfoType" minOccurs="0"/>
    <xs:element name="LastOccurrence" type="t:OccurrenceInfoType" minOccurs="0"/>
    <xs:element name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" minOccurs="0"/>
    <xs:element name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" minOccurs="0"/>
    <xs:element name="MeetingTimeZone" type="t:TimeZoneType" minOccurs="0"/>
    <xs:element name="StartTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="EndTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1"/>

    <xs:element name="ConferenceType" type="xs:int" minOccurs="0"/>
    <xs:element name="AllowNewTimeProposal" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsOnlineMeeting" type="xs:boolean" minOccurs="0"/>
    <xs:element name="MeetingWorkspaceUrl" type="xs:string" minOccurs="0"/>
    <xs:element name="NetShowUrl" type="xs:string" minOccurs="0"/>

    </xs:sequence>

    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Getting occurrences from Recurring masters and vice versa -->

    <!--Meeting invitation-->

    <xs:complexType name="MeetingMessageType">
    <xs:complexContent>
    <xs:extension base="t:MessageType">
    <xs:sequence>
    <xs:element name="AssociatedCalendarItemId" type="t:ItemIdType" minOccurs="0"/>
    <xs:element name="IsDelegated" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsOutOfDate" type="xs:boolean" minOccurs="0"/>
    <xs:element name="HasBeenProcessed" type="xs:boolean" minOccurs="0"/>

    <!-- Meeting response related properties -->

    <xs:element name="ResponseType" type="t:ResponseTypeType" minOccurs="0"/>

    <!-- iCalendar properties -->

    <xs:element name="UID" type="xs:string" minOccurs="0"/>
    <xs:element name="RecurrenceId" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="DateTimeStamp" type="xs:dateTime" minOccurs="0"/>

    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="MeetingRequestMessageType">
    <xs:complexContent>
    <xs:extension base="t:MeetingMessageType">
    <xs:sequence>
    <!--- MeetingRequest properties -->

    <xs:element name="MeetingRequestType" type="t:MeetingRequestTypeType" minOccurs="0"/>
    <xs:element name="IntendedFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0"/>

    <!-- Calendar Properties of the associated meeting request -->

    <!-- Single and Occurrence only -->

    <xs:element name="Start" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="End" type="xs:dateTime" minOccurs="0"/>

    <!-- Occurrence only -->

    <xs:element name="OriginalStart" type="xs:dateTime" minOccurs="0"/>

    <xs:element name="IsAllDayEvent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" minOccurs="0"/>
    <xs:element name="Location" type="xs:string" minOccurs="0"/>
    <xs:element name="When" type="xs:string" minOccurs="0"/>
    <xs:element name="IsMeeting" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsCancelled" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsRecurring" type="xs:boolean" minOccurs="0"/>
    <xs:element name="MeetingRequestWasSent" type="xs:boolean" minOccurs="0"/>
    <xs:element name="CalendarItemType" type="t:CalendarItemTypeType" minOccurs="0"/>
    <xs:element name="MyResponseType" type="t:ResponseTypeType" minOccurs="0"/>
    <xs:element name="Organizer" type="t:SingleRecipientType" minOccurs="0"/>
    <xs:element name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>
    <xs:element name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>
    <xs:element name="Resources" type="t:NonEmptyArrayOfAttendeesType" minOccurs="0"/>

    <!-- Conflicting and adjacent meetings -->

    <xs:element name="ConflictingMeetingCount" type="xs:int" minOccurs="0"/>
    <xs:element name="AdjacentMeetingCount" type="xs:int" minOccurs="0"/>
    <xs:element name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0"/>
    <xs:element name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" minOccurs="0"/>

    <xs:element name="Duration" type="xs:string" minOccurs="0"/>
    <xs:element name="TimeZone" type="xs:string" minOccurs="0"/>

    <xs:element name="AppointmentReplyTime" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="AppointmentSequenceNumber" type="xs:int" minOccurs="0"/>
    <xs:element name="AppointmentState" type="xs:int" minOccurs="0"/>

    <!-- Recurrence specific data, only valid if CalendarItemType is RecurringMaster -->

    <xs:element name="Recurrence" type="t:RecurrenceType" minOccurs="0"/>
    <xs:element name="FirstOccurrence" type="t:OccurrenceInfoType" minOccurs="0"/>
    <xs:element name="LastOccurrence" type="t:OccurrenceInfoType" minOccurs="0"/>
    <xs:element name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" minOccurs="0"/>
    <xs:element name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" minOccurs="0"/>
    <xs:element name="MeetingTimeZone" type="t:TimeZoneType" minOccurs="0"/>
    <xs:element name="StartTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1"/>
    <xs:element name="EndTimeZone" type="t:TimeZoneDefinitionType" minOccurs="0" maxOccurs="1"/>

    <xs:element name="ConferenceType" type="xs:int" minOccurs="0"/>
    <xs:element name="AllowNewTimeProposal" type="xs:boolean" minOccurs="0"/>
    <xs:element name="IsOnlineMeeting" type="xs:boolean" minOccurs="0"/>
    <xs:element name="MeetingWorkspaceUrl" type="xs:string" minOccurs="0"/>
    <xs:element name="NetShowUrl" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="MeetingResponseMessageType">
    <xs:complexContent>
    <xs:extension base="t:MeetingMessageType"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="MeetingCancellationMessageType">
    <xs:complexContent>
    <xs:extension base="t:MeetingMessageType"/>
    </xs:complexContent>
    </xs:complexType>

    <!-- End of CalendarItem Types -->

    <!-- Contacts Types -->

    <xs:simpleType name="ImAddressKeyType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="ImAddress1"/>
    <xs:enumeration value="ImAddress2"/>
    <xs:enumeration value="ImAddress3"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="EmailAddressKeyType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="EmailAddress1"/>
    <xs:enumeration value="EmailAddress2"/>
    <xs:enumeration value="EmailAddress3"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="PhoneNumberKeyType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="AssistantPhone"/>
    <xs:enumeration value="BusinessFax"/>
    <xs:enumeration value="BusinessPhone"/>
    <xs:enumeration value="BusinessPhone2"/>
    <xs:enumeration value="Callback"/>
    <xs:enumeration value="CarPhone"/>
    <xs:enumeration value="CompanyMainPhone"/>
    <xs:enumeration value="HomeFax"/>
    <xs:enumeration value="HomePhone"/>
    <xs:enumeration value="HomePhone2"/>
    <xs:enumeration value="Isdn"/>
    <xs:enumeration value="MobilePhone"/>
    <xs:enumeration value="OtherFax"/>
    <xs:enumeration value="OtherTelephone"/>
    <xs:enumeration value="Pager"/>
    <xs:enumeration value="PrimaryPhone"/>
    <xs:enumeration value="RadioPhone"/>
    <xs:enumeration value="Telex"/>
    <xs:enumeration value="TtyTddPhone"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="PhysicalAddressIndexType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="None"/>
    <xs:enumeration value="Business"/>
    <xs:enumeration value="Home"/>
    <xs:enumeration value="Other"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="PhysicalAddressKeyType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Business"/>
    <xs:enumeration value="Home"/>
    <xs:enumeration value="Other"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="FileAsMappingType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="None"/>
    <xs:enumeration value="LastCommaFirst"/>
    <xs:enumeration value="FirstSpaceLast"/>
    <xs:enumeration value="Company"/>
    <xs:enumeration value="LastCommaFirstCompany"/>
    <xs:enumeration value="CompanyLastFirst"/>
    <xs:enumeration value="LastFirst"/>
    <xs:enumeration value="LastFirstCompany"/>
    <xs:enumeration value="CompanyLastCommaFirst"/>
    <xs:enumeration value="LastFirstSuffix"/>
    <xs:enumeration value="LastSpaceFirstCompany"/>
    <xs:enumeration value="CompanyLastSpaceFirst"/>
    <xs:enumeration value="LastSpaceFirst"/>
    <xs:enumeration value="DisplayName"/>
    <xs:enumeration value="FirstName"/>
    <xs:enumeration value="LastFirstMiddleSuffix"/>
    <xs:enumeration value="LastName"/>
    <xs:enumeration value="Empty"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Contact source -->

    <xs:simpleType name="ContactSourceType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="ActiveDirectory"/>
    <xs:enumeration value="Store"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- complete name for a contact -->

    <xs:complexType name="CompleteNameType">
    <xs:sequence>
    <xs:element name="Title" type="xs:string" minOccurs="0"/>
    <xs:element name="FirstName" type="xs:string" minOccurs="0"/>
    <xs:element name="MiddleName" type="xs:string" minOccurs="0"/>
    <xs:element name="LastName" type="xs:string" minOccurs="0"/>
    <xs:element name="Suffix" type="xs:string" minOccurs="0"/>
    <xs:element name="Initials" type="xs:string" minOccurs="0"/>
    <xs:element name="FullName" type="xs:string" minOccurs="0"/>
    <xs:element name="Nickname" type="xs:string" minOccurs="0"/>
    <xs:element name="YomiFirstName" type="xs:string" minOccurs="0"/>
    <xs:element name="YomiLastName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Dictionary types for items -->

    <xs:complexType name="ImAddressDictionaryEntryType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="Key" type="t:ImAddressKeyType" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="EmailAddressDictionaryEntryType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="Key" type="t:EmailAddressKeyType" use="required"/>
    <xs:attribute name="Name" type="xs:string" use="optional"/>
    <xs:attribute name="RoutingType" type="xs:string" use="optional"/>
    <xs:attribute name="MailboxType" type="t:MailboxTypeType" use="optional"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="PhoneNumberDictionaryEntryType">
    <xs:simpleContent>
    <xs:extension base="xs:string">
    <xs:attribute name="Key" type="t:PhoneNumberKeyType" use="required"/>
    </xs:extension>
    </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="PhysicalAddressDictionaryEntryType">
    <xs:sequence>
    <xs:element name="Street" type="xs:string" minOccurs="0"/>
    <xs:element name="City" type="xs:string" minOccurs="0"/>
    <xs:element name="State" type="xs:string" minOccurs="0"/>
    <xs:element name="CountryOrRegion" type="xs:string" minOccurs="0"/>
    <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Key" type="t:PhysicalAddressKeyType" use="required"/>
    </xs:complexType>

    <!-- The actual dictionaries -->

    <xs:complexType name="ImAddressDictionaryType">
    <xs:sequence>
    <xs:element name="Entry" type="t:ImAddressDictionaryEntryType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="EmailAddressDictionaryType">
    <xs:sequence>
    <xs:element name="Entry" type="t:EmailAddressDictionaryEntryType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PhoneNumberDictionaryType">
    <xs:sequence>
    <xs:element name="Entry" type="t:PhoneNumberDictionaryEntryType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="PhysicalAddressDictionaryType">
    <xs:sequence>
    <xs:element name="Entry" type="t:PhysicalAddressDictionaryEntryType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="MemberStatusType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Unrecognized"/>
    <xs:enumeration value="Normal"/>
    <xs:enumeration value="Demoted"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="MembersListType">
    <xs:sequence>
    <xs:element name="Member" type="t:MemberType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="MemberType">
    <xs:sequence>
    <xs:element name="Mailbox" type="t:EmailAddressType" minOccurs="0"/>
    <xs:element name="Status" type="t:MemberStatusType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="Key" type="xs:string" use="optional"/>
    </xs:complexType>

    <!-- ContactItemType -->

    <xs:complexType name="ContactItemType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>
    <xs:element name="FileAs" type="xs:string" minOccurs="0"/>
    <xs:element name="FileAsMapping" type="t:FileAsMappingType" minOccurs="0"/>
    <xs:element name="DisplayName" type="xs:string" minOccurs="0"/>
    <xs:element name="GivenName" type="xs:string" minOccurs="0"/>
    <xs:element name="Initials" type="xs:string" minOccurs="0"/>
    <xs:element name="MiddleName" type="xs:string" minOccurs="0"/>
    <xs:element name="Nickname" type="xs:string" minOccurs="0"/>
    <xs:element name="CompleteName" type="t:CompleteNameType" minOccurs="0"/>
    <xs:element name="CompanyName" type="xs:string" minOccurs="0"/>
    <xs:element name="EmailAddresses" type="t:EmailAddressDictionaryType" minOccurs="0"/>
    <xs:element name="PhysicalAddresses" type="t:PhysicalAddressDictionaryType" minOccurs="0"/>
    <xs:element name="PhoneNumbers" type="t:PhoneNumberDictionaryType" minOccurs="0"/>
    <xs:element name="AssistantName" type="xs:string" minOccurs="0"/>
    <xs:element name="Birthday" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="BusinessHomePage" type="xs:anyURI" minOccurs="0"/>
    <xs:element name="Children" type="t:ArrayOfStringsType" minOccurs="0"/>
    <xs:element name="Companies" type="t:ArrayOfStringsType" minOccurs="0"/>
    <xs:element name="ContactSource" type="t:ContactSourceType" minOccurs="0"/>
    <xs:element name="Department" type="xs:string" minOccurs="0"/>
    <xs:element name="Generation" type="xs:string" minOccurs="0"/>
    <xs:element name="ImAddresses" type="t:ImAddressDictionaryType" minOccurs="0"/>
    <xs:element name="JobTitle" type="xs:string" minOccurs="0"/>
    <xs:element name="Manager" type="xs:string" minOccurs="0"/>
    <xs:element name="Mileage" type="xs:string" minOccurs="0"/>
    <xs:element name="OfficeLocation" type="xs:string" minOccurs="0"/>
    <xs:element name="PostalAddressIndex" type="t:PhysicalAddressIndexType" minOccurs="0"/>
    <xs:element name="Profession" type="xs:string" minOccurs="0"/>
    <xs:element name="SpouseName" type="xs:string" minOccurs="0"/>
    <xs:element name="Surname" type="xs:string" minOccurs="0"/>
    <xs:element name="WeddingAnniversary" type="xs:dateTime" minOccurs="0"/>
    <xs:element name="HasPicture" type="xs:boolean" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- ContactItemType -->

    <xs:complexType name="DistributionListType">
    <xs:complexContent>
    <xs:extension base="t:ItemType">
    <xs:sequence>
    <xs:element name="DisplayName" type="xs:string" minOccurs="0"/>
    <xs:element name="FileAs" type="xs:string" minOccurs="0"/>
    <xs:element name="ContactSource" type="t:ContactSourceType" minOccurs="0"/>

    <xs:element name="Members" type="t:MembersListType" minOccurs="0"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- End of Contacts Types-->

    <!-- Description of a search folder -->

    <xs:complexType name="SearchParametersType">
    <xs:sequence>
    <xs:element name="Restriction" type="t:RestrictionType"/>
    <xs:element name="BaseFolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType"/>
    </xs:sequence>
    <xs:attribute name="Traversal" type="t:SearchFolderTraversalType" use="optional"/>
    </xs:complexType>

    <!-- Search expressions -->
    <xs:complexType name="ConstantValueType">
    <xs:attribute name="Value" type="xs:string" use="required"/>
    </xs:complexType>

    <!-- Search expression type -->
    <xs:complexType name="SearchExpressionType" abstract="true"/>
    <xs:element name="SearchExpression" type="t:SearchExpressionType"/>

    <!-- GroupBy types for FindItem -->
    <xs:simpleType name="AggregateType">
    <xs:annotation>
    <xs:documentation>
    This max/min evaluation is applied to the field specified within the group by
    instance for EACH item within that group. This determines which item from each group
    is to be selected as the representative for that group.
    </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="Minimum"/>
    <xs:enumeration value="Maximum"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="AggregateOnType">
    <xs:annotation>
    <xs:documentation>
    Represents the field of each item to aggregate on and the qualifier to apply to that
    field in determining which item will represent the group.
    </xs:documentation>
    </xs:annotation>
    <xs:choice>
    <!-- Note that the property path here determines which property to examine on each item
    in the group for the aggregation function. This has nothing to do with defintion what
    is in each group. That determination has already been made via the GroupBy property path.
    -->
    <xs:element name="FieldURI" type="t:PathToUnindexedFieldType"/>
    <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType"/>
    <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/>
    </xs:choice>
    <xs:attribute name="Aggregate" type="t:AggregateType" use="required"/>
    </xs:complexType>

    <xs:complexType name="BaseGroupByType" abstract="true">
    <xs:attribute name="Order" type="t:SortDirectionType" use="required"/>
    </xs:complexType>

    <xs:complexType name="GroupByType">
    <xs:annotation>
    <xs:documentation>
    Allows consumers to specify arbitrary groupings for FindItem queries.
    </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseGroupByType">
    <xs:sequence>
    <!-- This property path represents the property that defines what is in each group.
    All items within a given group will have the same value for this property. -->
    <xs:choice>
    <xs:element name="FieldURI" type="t:PathToUnindexedFieldType"/>
    <xs:element name="IndexedFieldURI" type="t:PathToIndexedFieldType"/>
    <xs:element name="ExtendedFieldURI" type="t:PathToExtendedFieldType"/>
    </xs:choice>
    <xs:element name="AggregateOn" type="t:AggregateOnType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:simpleType name="StandardGroupByType">
    <xs:annotation>
    <xs:documentation>
    Represents standard groupings for GroupBy queries.
    </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
    <xs:enumeration value="ConversationTopic"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="DistinguishedGroupByType">
    <xs:annotation>
    <xs:documentation>
    Allows consumers to access standard groupings for FindItem queries. This is in
    contrast to the arbitrary (custom) groupings available via the t:GroupByType
    </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
    <xs:extension base="t:BaseGroupByType">
    <xs:sequence>
    <xs:element name="StandardGroupBy" type="t:StandardGroupByType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- GroupBy result types -->

    <xs:complexType name="GroupedItemsType">
    <xs:sequence>
    <xs:element name="GroupIndex" type="xs:string"/>
    <xs:element name="Items" type="t:ArrayOfRealItemsType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfGroupedItemsType">
    <xs:choice>
    <xs:element name="GroupedItems" type="t:GroupedItemsType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:choice>
    </xs:complexType>

    <!-- Basic arithmetic operations -->

    <xs:complexType name="ExistsType">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:Path"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="Exists" type="t:ExistsType" substitutionGroup="t:SearchExpression"/>

    <xs:complexType name="FieldURIOrConstantType">
    <xs:choice>
    <xs:element ref="t:Path"/>
    <xs:element name="Constant" type="t:ConstantValueType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="TwoOperandExpressionType" abstract="true">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:Path"/>
    <xs:element name="FieldURIOrConstant" type="t:FieldURIOrConstantType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <!-- Excludes patterns can either be hex (starting with 0x or 0X) or integers -->
    <xs:simpleType name="ExcludesAttributeType">
    <xs:restriction base="xs:string">
    <xs:pattern value="((0x|0X)[0-9A-Fa-f]*)|([0-9]*)"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ExcludesValueType">
    <xs:attribute name="Value" type="t:ExcludesAttributeType" use="required"/>
    </xs:complexType>

    <xs:complexType name="ExcludesType">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:Path"/>
    <xs:element name="Bitmask" type="t:ExcludesValueType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="Excludes" type="t:ExcludesType" substitutionGroup="t:SearchExpression"/>

    <xs:complexType name="IsEqualToType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsEqualTo" type="t:IsEqualToType" substitutionGroup="t:SearchExpression"/>
    <xs:complexType name="IsNotEqualToType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsNotEqualTo" type="t:IsNotEqualToType" substitutionGroup="t:SearchExpression"/>
    <xs:complexType name="IsGreaterThanType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsGreaterThan" type="t:IsGreaterThanType" substitutionGroup="t:SearchExpression"/>
    <xs:complexType name="IsGreaterThanOrEqualToType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsGreaterThanOrEqualTo" type="t:IsGreaterThanOrEqualToType" substitutionGroup="t:SearchExpression"/>
    <xs:complexType name="IsLessThanType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsLessThan" type="t:IsLessThanType" substitutionGroup="t:SearchExpression"/>
    <xs:complexType name="IsLessThanOrEqualToType">
    <xs:complexContent>
    <xs:extension base="t:TwoOperandExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="IsLessThanOrEqualTo" type="t:IsLessThanOrEqualToType" substitutionGroup="t:SearchExpression"/>

    <!-- Content indexing comparison -->
    <xs:simpleType name="ContainmentModeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="FullString"/>
    <xs:enumeration value="Prefixed"/>
    <xs:enumeration value="Substring"/>
    <xs:enumeration value="PrefixOnWords"/>
    <xs:enumeration value="ExactPhrase"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="ContainmentComparisonType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Exact"/>
    <xs:enumeration value="IgnoreCase"/>
    <xs:enumeration value="IgnoreNonSpacingCharacters"/>
    <xs:enumeration value="Loose"/>
    <xs:enumeration value="IgnoreCaseAndNonSpacingCharacters"/>
    <xs:enumeration value="LooseAndIgnoreCase"/>
    <xs:enumeration value="LooseAndIgnoreNonSpace"/>
    <xs:enumeration value="LooseAndIgnoreCaseAndIgnoreNonSpace"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="ContainsExpressionType">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:Path"/>
    <xs:element name="Constant" type="t:ConstantValueType"/>
    </xs:sequence>
    <xs:attribute name="ContainmentMode" type="t:ContainmentModeType" use="optional"/>
    <xs:attribute name="ContainmentComparison" type="t:ContainmentComparisonType" use="optional"/>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="Contains" type="t:ContainsExpressionType" substitutionGroup="t:SearchExpression"/>

    <!-- Boolean operations -->
    <xs:complexType name="NotType">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:SearchExpression"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="Not" type="t:NotType" substitutionGroup="t:SearchExpression"/>

    <xs:complexType name="MultipleOperandBooleanExpressionType" abstract="true">
    <xs:complexContent>
    <xs:extension base="t:SearchExpressionType">
    <xs:sequence>
    <xs:element ref="t:SearchExpression" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="AndType">
    <xs:complexContent>
    <xs:extension base="t:MultipleOperandBooleanExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="And" type="t:AndType" substitutionGroup="t:SearchExpression"/>

    <xs:complexType name="OrType">
    <xs:complexContent>
    <xs:extension base="t:MultipleOperandBooleanExpressionType"/>
    </xs:complexContent>
    </xs:complexType>
    <xs:element name="Or" type="t:OrType" substitutionGroup="t:SearchExpression"/>

    <!-- The type of object which actually encodes a restriction -->
    <xs:complexType name="RestrictionType">
    <xs:sequence>
    <xs:element ref="t:SearchExpression"/>
    </xs:sequence>
    </xs:complexType>
    <!-- Sort order specification -->
    <xs:simpleType name="SortDirectionType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Ascending"/>
    <xs:enumeration value="Descending"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="FieldOrderType">
    <xs:sequence>
    <xs:element ref="t:Path"/>
    </xs:sequence>
    <xs:attribute name="Order" type="t:SortDirectionType" use="required"/>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfFieldOrdersType">
    <xs:sequence>
    <xs:element name="FieldOrder" type="t:FieldOrderType" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Data type needed by CreateManagedFolder. -->
    <xs:complexType name="NonEmptyArrayOfFolderNamesType">
    <xs:sequence>
    <xs:element name="FolderName" type="xs:string" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <!-- Notification types -->

    <xs:simpleType name="WatermarkType">
    <xs:restriction base="t:NonEmptyStringType"/>
    </xs:simpleType>

    <xs:simpleType name="SubscriptionIdType">
    <xs:restriction base="t:NonEmptyStringType"/>
    </xs:simpleType>

    <xs:complexType name="BaseNotificationEventType">
    <xs:sequence>
    <xs:element name="Watermark" type="t:WatermarkType" minOccurs="0"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="BaseObjectChangedEventType">
    <xs:complexContent>
    <xs:extension base="t:BaseNotificationEventType">
    <xs:sequence>
    <xs:element name="TimeStamp" type="xs:dateTime"/>
    <xs:choice>
    <xs:element name="FolderId" type="t:FolderIdType"/>
    <xs:element name="ItemId" type="t:ItemIdType"/>
    </xs:choice>
    <xs:element name="ParentFolderId" type="t:FolderIdType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="ModifiedEventType">
    <xs:complexContent>
    <xs:extension base="t:BaseObjectChangedEventType">
    <xs:sequence>
    <xs:element name="UnreadCount" type="xs:int" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="MovedCopiedEventType">
    <xs:complexContent>
    <xs:extension base="t:BaseObjectChangedEventType">
    <xs:sequence>
    <xs:choice>
    <xs:element name="OldFolderId" type="t:FolderIdType"/>
    <xs:element name="OldItemId" type="t:ItemIdType"/>
    </xs:choice>
    <xs:element name="OldParentFolderId" type="t:FolderIdType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="NotificationType">
    <xs:sequence>
    <xs:element name="SubscriptionId" type="t:SubscriptionIdType"/>
    <xs:element name="PreviousWatermark" type="t:WatermarkType" minOccurs="0"/>
    <xs:element name="MoreEvents" type="xs:boolean" minOccurs="0"/>
    <xs:choice maxOccurs="unbounded" minOccurs="1">
    <xs:element name="CopiedEvent" type="t:MovedCopiedEventType"/>
    <xs:element name="CreatedEvent" type="t:BaseObjectChangedEventType"/>
    <xs:element name="DeletedEvent" type="t:BaseObjectChangedEventType"/>
    <xs:element name="ModifiedEvent" type="t:ModifiedEventType"/>
    <xs:element name="MovedEvent" type="t:MovedCopiedEventType"/>
    <xs:element name="NewMailEvent" type="t:BaseObjectChangedEventType"/>
    <xs:element name="StatusEvent" type="t:BaseNotificationEventType"/>
    <xs:element name="FreeBusyChangedEvent" type="t:BaseObjectChangedEventType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="NotificationEventTypeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="CopiedEvent"/>
    <xs:enumeration value="CreatedEvent"/>
    <xs:enumeration value="DeletedEvent"/>
    <xs:enumeration value="ModifiedEvent"/>
    <xs:enumeration value="MovedEvent"/>
    <xs:enumeration value="NewMailEvent"/>
    <xs:enumeration value="FreeBusyChangedEvent"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="NonEmptyArrayOfNotificationEventTypesType">
    <xs:choice maxOccurs="unbounded" minOccurs="1">
    <xs:element name="EventType" type="t:NotificationEventTypeType"/>
    </xs:choice>
    </xs:complexType>

    <xs:simpleType name="SubscriptionTimeoutType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
    <xs:maxInclusive value="1440"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="SubscriptionStatusFrequencyType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
    <xs:maxInclusive value="1440"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="BaseSubscriptionRequestType" abstract="true">
    <xs:sequence>
    <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" minOccurs="0"/>
    <xs:element name="EventTypes" type="t:NonEmptyArrayOfNotificationEventTypesType"/>
    <xs:element name="Watermark" type="t:WatermarkType" minOccurs="0"/>
    </xs:sequence>
    <xs:attribute name="SubscribeToAllFolders" type="xs:boolean" use="optional"/>
    </xs:complexType>
    <xs:complexType name="PushSubscriptionRequestType">
    <xs:complexContent>
    <xs:extension base="t:BaseSubscriptionRequestType">
    <xs:sequence>
    <xs:element name="StatusFrequency" type="t:SubscriptionStatusFrequencyType"/>
    <xs:element name="URL" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="PullSubscriptionRequestType">
    <xs:complexContent>
    <xs:extension base="t:BaseSubscriptionRequestType">
    <xs:sequence>
    <xs:element name="Timeout" type="t:SubscriptionTimeoutType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="StreamingSubscriptionRequestType">
    <xs:sequence>
    <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" minOccurs="0"/>
    <xs:element name="EventTypes" type="t:NonEmptyArrayOfNotificationEventTypesType"/>
    </xs:sequence>
    <xs:attribute name="SubscribeToAllFolders" type="xs:boolean" use="optional"/>
    </xs:complexType>

    <xs:simpleType name="SubscriptionStatusType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="OK"/>
    <xs:enumeration value="Unsubscribe"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="NonEmptyArrayOfSubscriptionIdsType">
    <xs:sequence>
    <xs:element name="SubscriptionId" type="t:SubscriptionIdType" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="NonEmptyArrayOfNotificationsType">
    <xs:sequence>
    <xs:element name="Notification" type="t:NotificationType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="StreamingSubscriptionConnectionTimeoutType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
    <xs:maxInclusive value="30"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="ConnectionStatusType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="OK"/>
    <xs:enumeration value="Closed"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="SyncFolderItemsDeleteType">
    <xs:sequence>
    <xs:element name="ItemId" type="t:ItemIdType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SyncFolderItemsReadFlagType">
    <xs:sequence>
    <xs:element name="ItemId" type="t:ItemIdType"/>
    <xs:element name="IsRead" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SyncFolderItemsChangesType">
    <xs:sequence>
    <xs:choice maxOccurs="unbounded" minOccurs="0">
    <xs:element name="Create" type="t:SyncFolderItemsCreateOrUpdateType"/>
    <xs:element name="Update" type="t:SyncFolderItemsCreateOrUpdateType"/>
    <xs:element name="Delete" type="t:SyncFolderItemsDeleteType"/>
    <xs:element name="ReadFlagChange" type="t:SyncFolderItemsReadFlagType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SyncFolderHierarchyCreateOrUpdateType">
    <xs:choice>
    <xs:element name="Folder" type="t:FolderType"/>
    <xs:element name="CalendarFolder" type="t:CalendarFolderType"/>
    <xs:element name="ContactsFolder" type="t:ContactsFolderType"/>
    <xs:element name="SearchFolder" type="t:SearchFolderType"/>
    <xs:element name="TasksFolder" type="t:TasksFolderType"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="SyncFolderHierarchyDeleteType">
    <xs:sequence>
    <xs:element name="FolderId" type="t:FolderIdType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SyncFolderHierarchyChangesType">
    <xs:sequence>
    <xs:choice maxOccurs="unbounded" minOccurs="0">
    <xs:element name="Create" type="t:SyncFolderHierarchyCreateOrUpdateType"/>
    <xs:element name="Update" type="t:SyncFolderHierarchyCreateOrUpdateType"/>
    <xs:element name="Delete" type="t:SyncFolderHierarchyDeleteType"/>
    </xs:choice>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="MaxSyncChangesReturnedType">
    <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
    <xs:maxInclusive value="512"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="SyncFolderItemsScopeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="NormalItems"/>
    <xs:enumeration value="NormalAndAssociatedItems"/>
    </xs:restriction>
    </xs:simpleType>

    <!-- Availability Service types -->

    <xs:simpleType name="AvailabilityProxyRequestType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="CrossSite"/>
    <xs:enumeration value="CrossForest"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="RequestTypeHeader">
    <xs:sequence>
    <xs:element name="RequestType" type="t:AvailabilityProxyRequestType" minOccurs="1" maxOccurs="1"/>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="MeetingAttendeeType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Organizer"/>
    <xs:enumeration value="Required"/>
    <xs:enumeration value="Optional"/>
    <xs:enumeration value="Room"/>
    <xs:enumeration value="Resource"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="CalendarEventDetails">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="1" name="ID" type="xs:string"/>
    <xs:element minOccurs="0" maxOccurs="1" name="Subject" type="xs:string"/>
    <xs:element minOccurs="0" maxOccurs="1" name="Location" type="xs:string"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsMeeting" type="xs:boolean"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsRecurring" type="xs:boolean"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsException" type="xs:boolean"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsReminderSet" type="xs:boolean"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsPrivate" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="CalendarEvent">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="StartTime" type="xs:dateTime"/>
    <xs:element minOccurs="1" maxOccurs="1" name="EndTime" type="xs:dateTime"/>
    <xs:element minOccurs="1" maxOccurs="1" name="BusyType" type="t:LegacyFreeBusyType"/>
    <xs:element minOccurs="0" maxOccurs="1" name="CalendarEventDetails" type="t:CalendarEventDetails"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfCalendarEvent">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="CalendarEvent" type="t:CalendarEvent"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Duration">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="StartTime" type="xs:dateTime"/>
    <xs:element minOccurs="1" maxOccurs="1" name="EndTime" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="EmailAddress">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string"/>
    <xs:element minOccurs="1" maxOccurs="1" name="Address" type="xs:string"/>
    <xs:element minOccurs="0" maxOccurs="1" name="RoutingType" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:element name="Mailbox" type="t:EmailAddress"/>

    <xs:simpleType name="FreeBusyViewType">
    <xs:list>
    <xs:simpleType>
    <xs:restriction base="xs:string">
    <xs:enumeration value="None"/>
    <xs:enumeration value="MergedOnly"/>
    <xs:enumeration value="FreeBusy"/>
    <xs:enumeration value="FreeBusyMerged"/>
    <xs:enumeration value="Detailed"/>
    <xs:enumeration value="DetailedMerged"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:list>
    </xs:simpleType>

    <xs:complexType name="FreeBusyViewOptionsType">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="TimeWindow" type="t:Duration"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MergedFreeBusyIntervalInMinutes" type="xs:int"/>
    <xs:element minOccurs="0" maxOccurs="1" name="RequestedView" type="t:FreeBusyViewType"/>
    </xs:sequence>
    </xs:complexType>

    <xs:element name="FreeBusyViewOptions" type="t:FreeBusyViewOptionsType"/>

    <xs:complexType name="WorkingPeriod">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="DayOfWeek" type="t:DaysOfWeekType"/>
    <xs:element minOccurs="1" maxOccurs="1" name="StartTimeInMinutes" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="EndTimeInMinutes" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfWorkingPeriod">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="WorkingPeriod" type="t:WorkingPeriod"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SerializableTimeZoneTime">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="Bias" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="Time" type="xs:string"/>
    <xs:element minOccurs="1" maxOccurs="1" name="DayOrder" type="xs:short"/>
    <xs:element minOccurs="1" maxOccurs="1" name="Month" type="xs:short"/>
    <xs:element minOccurs="1" maxOccurs="1" name="DayOfWeek" type="t:DayOfWeekType"/>
    <xs:element minOccurs="0" maxOccurs="1" name="Year" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SerializableTimeZone">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="Bias" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="StandardTime" type="t:SerializableTimeZoneTime"/>
    <xs:element minOccurs="1" maxOccurs="1" name="DaylightTime" type="t:SerializableTimeZoneTime"/>
    </xs:sequence>
    </xs:complexType>

    <xs:element name="TimeZone" type="t:SerializableTimeZone"/>

    <xs:complexType name="WorkingHours">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="TimeZone" type="t:SerializableTimeZone"/>
    <xs:element minOccurs="1" maxOccurs="1" name="WorkingPeriodArray" type="t:ArrayOfWorkingPeriod"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="FreeBusyView">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="FreeBusyViewType" type="t:FreeBusyViewType"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MergedFreeBusy" type="xs:string"/>
    <xs:element minOccurs="0" maxOccurs="1" name="CalendarEventArray" type="t:ArrayOfCalendarEvent"/>
    <xs:element minOccurs="0" maxOccurs="1" name="WorkingHours" type="t:WorkingHours"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="MailboxData">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="Email" type="t:EmailAddress"/>
    <xs:element minOccurs="1" maxOccurs="1" name="AttendeeType" type="t:MeetingAttendeeType"/>
    <xs:element minOccurs="0" maxOccurs="1" name="ExcludeConflicts" type="xs:boolean"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfMailboxData">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="MailboxData" nillable="true" type="t:MailboxData"/>
    </xs:sequence>
    </xs:complexType>

    <xs:simpleType name="SuggestionQuality">
    <xs:restriction base="xs:string">
    <xs:enumeration value="Excellent"/>
    <xs:enumeration value="Good"/>
    <xs:enumeration value="Fair"/>
    <xs:enumeration value="Poor"/>
    </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="SuggestionsViewOptionsType">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="1" name="GoodThreshold" type="xs:int"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MaximumResultsByDay" type="xs:int"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MaximumNonWorkHourResultsByDay" type="xs:int"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MeetingDurationInMinutes" type="xs:int"/>
    <xs:element minOccurs="0" maxOccurs="1" name="MinimumSuggestionQuality" type="t:SuggestionQuality"/>
    <xs:element minOccurs="1" maxOccurs="1" name="DetailedSuggestionsWindow" type="t:Duration"/>
    <xs:element minOccurs="0" maxOccurs="1" name="CurrentMeetingTime" type="xs:dateTime"/>
    <xs:element minOccurs="0" maxOccurs="1" name="GlobalObjectId" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>

    <xs:element name="SuggestionsViewOptions" type="t:SuggestionsViewOptionsType"/>

    <xs:complexType name="ArrayOfAttendeeConflictData">
    <xs:choice minOccurs="0" maxOccurs="unbounded">
    <xs:element minOccurs="1" maxOccurs="1" name="UnknownAttendeeConflictData" nillable="true" type="t:UnknownAttendeeConflictData"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IndividualAttendeeConflictData" nillable="true" type="t:IndividualAttendeeConflictData"/>
    <xs:element minOccurs="1" maxOccurs="1" name="TooBigGroupAttendeeConflictData" nillable="true" type="t:TooBigGroupAttendeeConflictData"/>
    <xs:element minOccurs="1" maxOccurs="1" name="GroupAttendeeConflictData" nillable="true" type="t:GroupAttendeeConflictData"/>
    </xs:choice>
    </xs:complexType>

    <xs:complexType name="AttendeeConflictData" abstract="true"/>

    <xs:complexType name="UnknownAttendeeConflictData">
    <xs:complexContent mixed="false">
    <xs:extension base="t:AttendeeConflictData"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="TooBigGroupAttendeeConflictData">
    <xs:complexContent mixed="false">
    <xs:extension base="t:AttendeeConflictData"/>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="IndividualAttendeeConflictData">
    <xs:complexContent mixed="false">
    <xs:extension base="t:AttendeeConflictData">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="BusyType" type="t:LegacyFreeBusyType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="GroupAttendeeConflictData">
    <xs:complexContent mixed="false">
    <xs:extension base="t:AttendeeConflictData">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembers" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersAvailable" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersWithConflict" type="xs:int"/>
    <xs:element minOccurs="1" maxOccurs="1" name="NumberOfMembersWithNoData" type="xs:int"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    <xs:complexType name="Suggestion">
    <xs:sequence>
    <xs:element minOccurs="1" maxOccurs="1" name="MeetingTime" type="xs:dateTime"/>
    <xs:element minOccurs="1" maxOccurs="1" name="IsWorkTime" type="xs:boolean"/>
    <xs:element minOccurs="1" maxOccurs="1" name="SuggestionQuality" type="t:SuggestionQuality"/>
    <xs:element minOccurs="0" maxOccurs="1" name="AttendeeConflictDataArray" type="t:ArrayOfAttendeeConflictData"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ArrayOfSuggestion">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="Suggestion" type="t:Suggestion"/>
    </xs:sequence>
    </xs:complexType>

    <xs:complexType name="SuggestionDayResult">
    <xs:sequence><xs:element minOccurs="1" maxOccurs="1" name="Date" type="xs:dateTime"/><xs:element minOccurs="1" maxOccurs="1" name="DayQuality" type="t:SuggestionQuality"/><xs:element minOccurs="0" maxOccurs="1" name="SuggestionArray" type="t:ArrayOfSuggestion"/></xs:sequence></xs:complexType>

    klzzwxh:10005xs:complexType name="ArrayOfSuggestionDayResult"klzzwxh:10006klzzwxh:10015klzzwxh:10007xs:sequenceklzzwxh:10008klzzwxh:10016klzzwxh:10009xs:element minOccurs="0" maxOccurs="unbounded" name="SuggestionDayResult" type="t:SuggestionDayResult"/klzzwxh:10010klzzwxh:10017klzzwxh:10011/xs:sequenceklzzwxh:10012klzzwxh:10018klzzwxh:10013/xs:complexTypeklzzwxh:10014

    klzzwxh:10019xs:simpleType name="OofState"klzzwxh:10020klzzwxh:10033klzzwxh:10021xs:restriction base="xs:string"klzzwxh:10022klzzwxh:10034klzzwxh:10023xs:enumeration value="Disabled"/klzzwxh:10024klzzwxh:10035klzzwxh:10025xs:enumeration value="Enabled"/klzzwxh:10026klzzwxh:10036klzzwxh:10027xs:enumeration value="Scheduled"/klzzwxh:10028klzzwxh:10037klzzwxh:10029/xs:restrictionklzzwxh:10030klzzwxh:10038klzzwxh:10031/xs:simpleTypeklzzwxh:10032

    klzzwxh:10039xs:simpleType name="ExternalAudience"klzzwxh:10040klzzwxh:10053klzzwxh:10041xs:restriction base="xs:string"klzzwxh:10042klzzwxh:10054klzzwxh:10043xs:enumeration value="None"/klzzwxh:10044klzzwxh:10055klzzwxh:10045xs:enumeration value="Known"/klzzwxh:10046klzzwxh:10056klzzwxh:10047xs:enumeration value="All"/klzzwxh:10048klzzwxh:10057klzzwxh:10049/xs:restrictionklzzwxh:10050klzzwxh:10058klzzwxh:10051/xs:simpleTypeklzzwxh:10052

    klzzwxh:10059xs:complexType name="ReplyBody"klzzwxh:10060klzzwxh:10071klzzwxh:10061xs:sequenceklzzwxh:10062klzzwxh:10072klzzwxh:10063xs:element minOccurs="0" maxOccurs="1" name="Message" type="xs:string"/klzzwxh:10064klzzwxh:10073klzzwxh:10065/xs:sequenceklzzwxh:10066klzzwxh:10074klzzwxh:10067xs:attribute ref="xml:lang" use="optional"/klzzwxh:10068klzzwxh:10075klzzwxh:10069/xs:complexTypeklzzwxh:10070

    klzzwxh:10076xs:complexType name="UserOofSettings"klzzwxh:10077klzzwxh:10094klzzwxh:10078xs:sequenceklzzwxh:10079klzzwxh:10095klzzwxh:10080xs:element minOccurs="1" maxOccurs="1" name="OofState" type="t:OofState"/klzzwxh:10081klzzwxh:10096klzzwxh:10082xs:element minOccurs="1" maxOccurs="1" name="ExternalAudience" type="t:ExternalAudience"/klzzwxh:10083klzzwxh:10097klzzwxh:10084xs:element minOccurs="0" maxOccurs="1" name="Duration" type="t:Duration"/klzzwxh:10085klzzwxh:10098klzzwxh:10086xs:element minOccurs="0" maxOccurs="1" name="InternalReply" type="t:ReplyBody"/klzzwxh:10087klzzwxh:10099klzzwxh:10088xs:element minOccurs="0" maxOccurs="1" name="ExternalReply" type="t:ReplyBody"/klzzwxh:10089klzzwxh:10100klzzwxh:10090/xs:sequenceklzzwxh:10091klzzwxh:10101klzzwxh:10092/xs:complexTypeklzzwxh:10093

    klzzwxh:10102xs:element name="OofSettings" type="t:UserOofSettings"/klzzwxh:10103klzzwxh:10106klzzwxh:10104xs:element name="UserOofSettings" type="t:UserOofSettings"/klzzwxh:10105

    klzzwxh:10108klzzwxh:10107-- Value used in Message Xml --klzzwxh:10109klzzwxh:10124klzzwxh:10110xs:complexType name="Value"klzzwxh:10111klzzwxh:10125klzzwxh:10112xs:simpleContentklzzwxh:10113klzzwxh:10126klzzwxh:10114xs:extension base="xs:string"klzzwxh:10115klzzwxh:10127klzzwxh:10116xs:attribute name="Name" type="xs:string" use="required"/klzzwxh:10117klzzwxh:10128klzzwxh:10118/xs:extensionklzzwxh:10119klzzwxh:10129klzzwxh:10120/xs:simpleContentklzzwxh:10121klzzwxh:10130klzzwxh:10122/xs:complexTypeklzzwxh:10123

    klzzwxh:10131xs:element name="Value" type="t:Value"/klzzwxh:10132

    klzzwxh:10134klzzwxh:10133-- SP1 Id Conversion types --klzzwxh:10135klzzwxh:10164klzzwxh:10136xs:simpleType name="IdFormatType"klzzwxh:10137klzzwxh:10165klzzwxh:10138xs:annotationklzzwxh:10139klzzwxh:10166klzzwxh:10140xs:documentationklzzwxh:10141Surfaces the various id types that are supported for conversionklzzwxh:10142/xs:documentationklzzwxh:10143klzzwxh:10167klzzwxh:10144/xs:annotationklzzwxh:10145klzzwxh:10168klzzwxh:10146xs:restriction base="xs:string"klzzwxh:10147klzzwxh:10169klzzwxh:10148xs:enumeration value="EwsLegacyId"/klzzwxh:10149klzzwxh:10170klzzwxh:10150xs:enumeration value="EwsId"/klzzwxh:10151klzzwxh:10171klzzwxh:10152xs:enumeration value="EntryId"/klzzwxh:10153klzzwxh:10172klzzwxh:10154xs:enumeration value="HexEntryId"/klzzwxh:10155klzzwxh:10173klzzwxh:10156xs:enumeration value="StoreId"/klzzwxh:10157klzzwxh:10174klzzwxh:10158xs:enumeration value="OwaId"/klzzwxh:10159klzzwxh:10175klzzwxh:10160/xs:restrictionklzzwxh:10161klzzwxh:10176klzzwxh:10162/xs:simpleTypeklzzwxh:10163

    klzzwxh:10177xs:complexType name="AlternateIdBaseType" abstract="true"klzzwxh:10178klzzwxh:10191klzzwxh:10179xs:annotationklzzwxh:10180klzzwxh:10192klzzwxh:10181xs:documentationklzzwxh:10182klzzwxh:10193Surfaces alternate representations of an item or folder id. No change key is included.klzzwxh:10194klzzwxh:10183/xs:documentationklzzwxh:10184klzzwxh:10195klzzwxh:10185/xs:annotationklzzwxh:10186klzzwxh:10196klzzwxh:10187xs:attribute name="Format" type="t:IdFormatType" use="required"/klzzwxh:10188klzzwxh:10197klzzwxh:10189/xs:complexTypeklzzwxh:10190

    klzzwxh:10198xs:complexType name="AlternateIdType"klzzwxh:10199klzzwxh:10224klzzwxh:10200xs:annotationklzzwxh:10201klzzwxh:10225klzzwxh:10202xs:documentationklzzwxh:10203klzzwxh:10226Represents an alternate mailbox folder or item Id.klzzwxh:10227klzzwxh:10204/xs:documentationklzzwxh:10205klzzwxh:10228klzzwxh:10206/xs:annotationklzzwxh:10207klzzwxh:10229klzzwxh:10208xs:complexContentklzzwxh:10209klzzwxh:10230klzzwxh:10210xs:extension base="t:AlternateIdBaseType"klzzwxh:10211klzzwxh:10231klzzwxh:10212xs:attribute name="Id" type="xs:string" use="required"/klzzwxh:10213klzzwxh:10232klzzwxh:10214xs:attribute name="Mailbox" type="t:NonEmptyStringType" use="required"/klzzwxh:10215klzzwxh:10233klzzwxh:10216xs:attribute name="IsArchive" type="xs:boolean" use="optional"/klzzwxh:10217klzzwxh:10234klzzwxh:10218/xs:extensionklzzwxh:10219klzzwxh:10235klzzwxh:10220/xs:complexContentklzzwxh:10221klzzwxh:10236klzzwxh:10222/xs:complexTypeklzzwxh:10223

    klzzwxh:10237xs:complexType name="AlternatePublicFolderIdType"klzzwxh:10238klzzwxh:10259klzzwxh:10239xs:annotationklzzwxh:10240klzzwxh:10260klzzwxh:10241xs:documentationklzzwxh:10242klzzwxh:10261Represents an alternate public folder Id.klzzwxh:10262klzzwxh:10243/xs:documentationklzzwxh:10244klzzwxh:10263klzzwxh:10245/xs:annotationklzzwxh:10246klzzwxh:10264klzzwxh:10247xs:complexContentklzzwxh:10248klzzwxh:10265klzzwxh:10249xs:extension base="t:AlternateIdBaseType"klzzwxh:10250klzzwxh:10266klzzwxh:10251xs:attribute name="FolderId" type="xs:string" use="required"/klzzwxh:10252klzzwxh:10267klzzwxh:10253/xs:extensionklzzwxh:10254klzzwxh:10268klzzwxh:10255/xs:complexContentklzzwxh:10256klzzwxh:10269klzzwxh:10257/xs:complexTypeklzzwxh:10258

    klzzwxh:10270xs:complexType name="AlternatePublicFolderItemIdType"klzzwxh:10271klzzwxh:10292klzzwxh:10272xs:annotationklzzwxh:10273klzzwxh:10293klzzwxh:10274xs:documentationklzzwxh:10275klzzwxh:10294Represents an alternate public folder item Id.klzzwxh:10295klzzwxh:10276/xs:documentationklzzwxh:10277klzzwxh:10296klzzwxh:10278/xs:annotationklzzwxh:10279klzzwxh:10297klzzwxh:10280xs:complexContentklzzwxh:10281klzzwxh:10298klzzwxh:10282xs:extension base="t:AlternatePublicFolderIdType"klzzwxh:10283klzzwxh:10299klzzwxh:10284xs:attribute name="ItemId" type="xs:string" use="required"/klzzwxh:10285klzzwxh:10300klzzwxh:10286/xs:extensionklzzwxh:10287klzzwxh:10301klzzwxh:10288/xs:complexContentklzzwxh:10289klzzwxh:10302klzzwxh:10290/xs:complexTypeklzzwxh:10291

    klzzwxh:10303xs:complexType name="NonEmptyArrayOfAlternateIdsType"klzzwxh:10304klzzwxh:10325klzzwxh:10305xs:annotationklzzwxh:10306klzzwxh:10326klzzwxh:10307xs:documentationklzzwxh:10308klzzwxh:10327A non-empty array of alternate Ids.klzzwxh:10328klzzwxh:10309/xs:documentationklzzwxh:10310klzzwxh:10329klzzwxh:10311/xs:annotationklzzwxh:10312klzzwxh:10330klzzwxh:10313xs:choice minOccurs="1" maxOccurs="unbounded"klzzwxh:10314klzzwxh:10331klzzwxh:10315xs:element name="AlternateId" type="t:AlternateIdType"/klzzwxh:10316klzzwxh:10332klzzwxh:10317xs:element name="AlternatePublicFolderId" type="t:AlternatePublicFolderIdType"/klzzwxh:10318klzzwxh:10333klzzwxh:10319xs:element name="AlternatePublicFolderItemId" type="t:AlternatePublicFolderItemIdType"/klzzwxh:10320klzzwxh:10334klzzwxh:10321/xs:choiceklzzwxh:10322klzzwxh:10335klzzwxh:10323/xs:complexTypeklzzwxh:10324

    klzzwxh:10336xs:complexType name="UserIdType"klzzwxh:10337klzzwxh:10354klzzwxh:10338xs:sequenceklzzwxh:10339klzzwxh:10355klzzwxh:10340xs:element name="SID" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:10341klzzwxh:10356klzzwxh:10342xs:element name="PrimarySmtpAddress" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:10343klzzwxh:10357klzzwxh:10344xs:element name="DisplayName" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:10345klzzwxh:10358klzzwxh:10346xs:element name="DistinguishedUser" type="t:DistinguishedUserType" minOccurs="0" maxOccurs="1"/klzzwxh:10347klzzwxh:10359klzzwxh:10348xs:element name="ExternalUserIdentity" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:10349klzzwxh:10360klzzwxh:10350/xs:sequenceklzzwxh:10351klzzwxh:10361klzzwxh:10352/xs:complexTypeklzzwxh:10353

    klzzwxh:10362xs:simpleType name="DistinguishedUserType"klzzwxh:10363klzzwxh:10374klzzwxh:10364xs:restriction base="xs:string"klzzwxh:10365klzzwxh:10375klzzwxh:10366xs:enumeration value="Default"/klzzwxh:10367klzzwxh:10376klzzwxh:10368xs:enumeration value="Anonymous"/klzzwxh:10369klzzwxh:10377klzzwxh:10370/xs:restrictionklzzwxh:10371klzzwxh:10378klzzwxh:10372/xs:simpleTypeklzzwxh:10373

    klzzwxh:10379xs:complexType name="ArrayOfPermissionsType"klzzwxh:10380klzzwxh:10389klzzwxh:10381xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:10382klzzwxh:10390klzzwxh:10383xs:element name="Permission" type="t:PermissionType"/klzzwxh:10384klzzwxh:10391klzzwxh:10385/xs:choiceklzzwxh:10386klzzwxh:10392klzzwxh:10387/xs:complexTypeklzzwxh:10388

    klzzwxh:10393xs:complexType name="ArrayOfCalendarPermissionsType"klzzwxh:10394klzzwxh:10403klzzwxh:10395xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:10396klzzwxh:10404klzzwxh:10397xs:element name="CalendarPermission" type="t:CalendarPermissionType"/klzzwxh:10398klzzwxh:10405klzzwxh:10399/xs:choiceklzzwxh:10400klzzwxh:10406klzzwxh:10401/xs:complexTypeklzzwxh:10402

    klzzwxh:10407xs:complexType name="ArrayOfUnknownEntriesType"klzzwxh:10408klzzwxh:10417klzzwxh:10409xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:10410klzzwxh:10418klzzwxh:10411xs:element name="UnknownEntry" type="xs:string"/klzzwxh:10412klzzwxh:10419klzzwxh:10413/xs:choiceklzzwxh:10414klzzwxh:10420klzzwxh:10415/xs:complexTypeklzzwxh:10416

    klzzwxh:10421xs:simpleType name="PermissionReadAccessType"klzzwxh:10422klzzwxh:10433klzzwxh:10423xs:restriction base="xs:string"klzzwxh:10424klzzwxh:10434klzzwxh:10425xs:enumeration value="None"/klzzwxh:10426klzzwxh:10435klzzwxh:10427xs:enumeration value="FullDetails"/klzzwxh:10428klzzwxh:10436klzzwxh:10429/xs:restrictionklzzwxh:10430klzzwxh:10437klzzwxh:10431/xs:simpleTypeklzzwxh:10432

    klzzwxh:10438xs:simpleType name="CalendarPermissionReadAccessType"klzzwxh:10439klzzwxh:10454klzzwxh:10440xs:restriction base="xs:string"klzzwxh:10441klzzwxh:10455klzzwxh:10442xs:enumeration value="None"/klzzwxh:10443klzzwxh:10456klzzwxh:10444xs:enumeration value="TimeOnly"/klzzwxh:10445klzzwxh:10457klzzwxh:10446xs:enumeration value="TimeAndSubjectAndLocation"/klzzwxh:10447klzzwxh:10458klzzwxh:10448xs:enumeration value="FullDetails"/klzzwxh:10449klzzwxh:10459klzzwxh:10450/xs:restrictionklzzwxh:10451klzzwxh:10460klzzwxh:10452/xs:simpleTypeklzzwxh:10453

    klzzwxh:10461xs:complexType name="BasePermissionType" abstract="true"klzzwxh:10462klzzwxh:10493klzzwxh:10463xs:annotationklzzwxh:10464klzzwxh:10494klzzwxh:10465xs:documentationklzzwxh:10466A permission on a folderklzzwxh:10467/xs:documentationklzzwxh:10468klzzwxh:10495klzzwxh:10469/xs:annotationklzzwxh:10470klzzwxh:10496klzzwxh:10471xs:sequenceklzzwxh:10472klzzwxh:10497klzzwxh:10473xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="1"/klzzwxh:10474klzzwxh:10498klzzwxh:10475xs:element name="CanCreateItems" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10476klzzwxh:10499klzzwxh:10477xs:element name="CanCreateSubFolders" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10478klzzwxh:10500klzzwxh:10479xs:element name="IsFolderOwner" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10480klzzwxh:10501klzzwxh:10481xs:element name="IsFolderVisible" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10482klzzwxh:10502klzzwxh:10483xs:element name="IsFolderContact" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10484klzzwxh:10503klzzwxh:10485xs:element name="EditItems" type="t:PermissionActionType" minOccurs="0" maxOccurs="1"/klzzwxh:10486klzzwxh:10504klzzwxh:10487xs:element name="DeleteItems" type="t:PermissionActionType" minOccurs="0" maxOccurs="1"/klzzwxh:10488klzzwxh:10505klzzwxh:10489/xs:sequenceklzzwxh:10490klzzwxh:10506klzzwxh:10491/xs:complexTypeklzzwxh:10492

    klzzwxh:10507xs:complexType name="PermissionType"klzzwxh:10508klzzwxh:10535klzzwxh:10509xs:annotationklzzwxh:10510klzzwxh:10536klzzwxh:10511xs:documentationklzzwxh:10512A permission on a folderklzzwxh:10513/xs:documentationklzzwxh:10514klzzwxh:10537klzzwxh:10515/xs:annotationklzzwxh:10516klzzwxh:10538klzzwxh:10517xs:complexContentklzzwxh:10518klzzwxh:10539klzzwxh:10519xs:extension base="t:BasePermissionType"klzzwxh:10520klzzwxh:10540klzzwxh:10521xs:sequenceklzzwxh:10522klzzwxh:10541klzzwxh:10523xs:element name="ReadItems" type="t:PermissionReadAccessType" minOccurs="0" maxOccurs="1"/klzzwxh:10524klzzwxh:10542klzzwxh:10525xs:element name="PermissionLevel" type="t:PermissionLevelType" minOccurs="1" maxOccurs="1"/klzzwxh:10526klzzwxh:10543klzzwxh:10527/xs:sequenceklzzwxh:10528klzzwxh:10544klzzwxh:10529/xs:extensionklzzwxh:10530klzzwxh:10545klzzwxh:10531/xs:complexContentklzzwxh:10532klzzwxh:10546klzzwxh:10533/xs:complexTypeklzzwxh:10534

    klzzwxh:10547xs:complexType name="CalendarPermissionType"klzzwxh:10548klzzwxh:10567klzzwxh:10549xs:complexContentklzzwxh:10550klzzwxh:10568klzzwxh:10551xs:extension base="t:BasePermissionType"klzzwxh:10552klzzwxh:10569klzzwxh:10553xs:sequenceklzzwxh:10554klzzwxh:10570klzzwxh:10555xs:element name="ReadItems" type="t:CalendarPermissionReadAccessType" minOccurs="0" maxOccurs="1"/klzzwxh:10556klzzwxh:10571klzzwxh:10557xs:element name="CalendarPermissionLevel" type="t:CalendarPermissionLevelType" minOccurs="1" maxOccurs="1"/klzzwxh:10558klzzwxh:10572klzzwxh:10559/xs:sequenceklzzwxh:10560klzzwxh:10573klzzwxh:10561/xs:extensionklzzwxh:10562klzzwxh:10574klzzwxh:10563/xs:complexContentklzzwxh:10564klzzwxh:10575klzzwxh:10565/xs:complexTypeklzzwxh:10566

    klzzwxh:10576xs:simpleType name="PermissionActionType"klzzwxh:10577klzzwxh:10590klzzwxh:10578xs:restriction base="xs:string"klzzwxh:10579klzzwxh:10591klzzwxh:10580xs:enumeration value="None"/klzzwxh:10581klzzwxh:10592klzzwxh:10582xs:enumeration value="Owned"/klzzwxh:10583klzzwxh:10593klzzwxh:10584xs:enumeration value="All"/klzzwxh:10585klzzwxh:10594klzzwxh:10586/xs:restrictionklzzwxh:10587klzzwxh:10595klzzwxh:10588/xs:simpleTypeklzzwxh:10589

    klzzwxh:10596xs:simpleType name="PermissionLevelType"klzzwxh:10597klzzwxh:10624klzzwxh:10598xs:restriction base="xs:string"klzzwxh:10599klzzwxh:10625klzzwxh:10600xs:enumeration value="None"/klzzwxh:10601klzzwxh:10626klzzwxh:10602xs:enumeration value="Owner"/klzzwxh:10603klzzwxh:10627klzzwxh:10604xs:enumeration value="PublishingEditor"/klzzwxh:10605klzzwxh:10628klzzwxh:10606xs:enumeration value="Editor"/klzzwxh:10607klzzwxh:10629klzzwxh:10608xs:enumeration value="PublishingAuthor"/klzzwxh:10609klzzwxh:10630klzzwxh:10610xs:enumeration value="Author"/klzzwxh:10611klzzwxh:10631klzzwxh:10612xs:enumeration value="NoneditingAuthor"/klzzwxh:10613klzzwxh:10632klzzwxh:10614xs:enumeration value="Reviewer"/klzzwxh:10615klzzwxh:10633klzzwxh:10616xs:enumeration value="Contributor"/klzzwxh:10617klzzwxh:10634klzzwxh:10618xs:enumeration value="Custom"/klzzwxh:10619klzzwxh:10635klzzwxh:10620/xs:restrictionklzzwxh:10621klzzwxh:10636klzzwxh:10622/xs:simpleTypeklzzwxh:10623

    klzzwxh:10637xs:simpleType name="CalendarPermissionLevelType"klzzwxh:10638klzzwxh:10669klzzwxh:10639xs:restriction base="xs:string"klzzwxh:10640klzzwxh:10670klzzwxh:10641xs:enumeration value="None"/klzzwxh:10642klzzwxh:10671klzzwxh:10643xs:enumeration value="Owner"/klzzwxh:10644klzzwxh:10672klzzwxh:10645xs:enumeration value="PublishingEditor"/klzzwxh:10646klzzwxh:10673klzzwxh:10647xs:enumeration value="Editor"/klzzwxh:10648klzzwxh:10674klzzwxh:10649xs:enumeration value="PublishingAuthor"/klzzwxh:10650klzzwxh:10675klzzwxh:10651xs:enumeration value="Author"/klzzwxh:10652klzzwxh:10676klzzwxh:10653xs:enumeration value="NoneditingAuthor"/klzzwxh:10654klzzwxh:10677klzzwxh:10655xs:enumeration value="Reviewer"/klzzwxh:10656klzzwxh:10678klzzwxh:10657xs:enumeration value="Contributor"/klzzwxh:10658klzzwxh:10679klzzwxh:10659xs:enumeration value="FreeBusyTimeOnly"/klzzwxh:10660klzzwxh:10680klzzwxh:10661xs:enumeration value="FreeBusyTimeAndSubjectAndLocation"/klzzwxh:10662klzzwxh:10681klzzwxh:10663xs:enumeration value="Custom"/klzzwxh:10664klzzwxh:10682klzzwxh:10665/xs:restrictionklzzwxh:10666klzzwxh:10683klzzwxh:10667/xs:simpleTypeklzzwxh:10668

    klzzwxh:10684xs:complexType name="PermissionSetType"klzzwxh:10685klzzwxh:10704klzzwxh:10686xs:annotationklzzwxh:10687klzzwxh:10705klzzwxh:10688xs:documentationklzzwxh:10689The set of permissions on a folderklzzwxh:10690/xs:documentationklzzwxh:10691klzzwxh:10706klzzwxh:10692/xs:annotationklzzwxh:10693klzzwxh:10707klzzwxh:10694xs:sequenceklzzwxh:10695klzzwxh:10708klzzwxh:10696xs:element name="Permissions" type="t:ArrayOfPermissionsType"/klzzwxh:10697klzzwxh:10709klzzwxh:10698xs:element name="UnknownEntries" type="t:ArrayOfUnknownEntriesType" minOccurs="0"/klzzwxh:10699klzzwxh:10710klzzwxh:10700/xs:sequenceklzzwxh:10701klzzwxh:10711klzzwxh:10702/xs:complexTypeklzzwxh:10703

    klzzwxh:10712xs:complexType name="CalendarPermissionSetType"klzzwxh:10713klzzwxh:10732klzzwxh:10714xs:annotationklzzwxh:10715klzzwxh:10733klzzwxh:10716xs:documentationklzzwxh:10717The set of permissions on a folderklzzwxh:10718/xs:documentationklzzwxh:10719klzzwxh:10734klzzwxh:10720/xs:annotationklzzwxh:10721klzzwxh:10735klzzwxh:10722xs:sequenceklzzwxh:10723klzzwxh:10736klzzwxh:10724xs:element name="CalendarPermissions" type="t:ArrayOfCalendarPermissionsType"/klzzwxh:10725klzzwxh:10737klzzwxh:10726xs:element name="UnknownEntries" type="t:ArrayOfUnknownEntriesType" minOccurs="0"/klzzwxh:10727klzzwxh:10738klzzwxh:10728/xs:sequenceklzzwxh:10729klzzwxh:10739klzzwxh:10730/xs:complexTypeklzzwxh:10731

    klzzwxh:10740xs:complexType name="EffectiveRightsType"klzzwxh:10741klzzwxh:10762klzzwxh:10742xs:sequenceklzzwxh:10743klzzwxh:10763klzzwxh:10744xs:element name="CreateAssociated" type="xs:boolean"/klzzwxh:10745klzzwxh:10764klzzwxh:10746xs:element name="CreateContents" type="xs:boolean"/klzzwxh:10747klzzwxh:10765klzzwxh:10748xs:element name="CreateHierarchy" type="xs:boolean"/klzzwxh:10749klzzwxh:10766klzzwxh:10750xs:element name="Delete" type="xs:boolean"/klzzwxh:10751klzzwxh:10767klzzwxh:10752xs:element name="Modify" type="xs:boolean"/klzzwxh:10753klzzwxh:10768klzzwxh:10754xs:element name="Read" type="xs:boolean"/klzzwxh:10755klzzwxh:10769klzzwxh:10756xs:element name="ViewPrivateItems" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10757klzzwxh:10770klzzwxh:10758/xs:sequenceklzzwxh:10759klzzwxh:10771klzzwxh:10760/xs:complexTypeklzzwxh:10761

    klzzwxh:10773klzzwxh:10772-- Delegate Management types --klzzwxh:10774

    klzzwxh:10775xs:complexType name="ArrayOfDelegateUserType"klzzwxh:10776klzzwxh:10785klzzwxh:10777xs:sequenceklzzwxh:10778klzzwxh:10786klzzwxh:10779xs:element name="DelegateUser" type="t:DelegateUserType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:10780klzzwxh:10787klzzwxh:10781/xs:sequenceklzzwxh:10782klzzwxh:10788klzzwxh:10783/xs:complexTypeklzzwxh:10784

    klzzwxh:10789xs:complexType name="ArrayOfUserIdType"klzzwxh:10790klzzwxh:10799klzzwxh:10791xs:sequenceklzzwxh:10792klzzwxh:10800klzzwxh:10793xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:10794klzzwxh:10801klzzwxh:10795/xs:sequenceklzzwxh:10796klzzwxh:10802klzzwxh:10797/xs:complexTypeklzzwxh:10798

    klzzwxh:10803xs:simpleType name="DeliverMeetingRequestsType"klzzwxh:10804klzzwxh:10819klzzwxh:10805xs:restriction base="xs:string"klzzwxh:10806klzzwxh:10820klzzwxh:10807xs:enumeration value="DelegatesOnly"/klzzwxh:10808klzzwxh:10821klzzwxh:10809xs:enumeration value="DelegatesAndMe"/klzzwxh:10810klzzwxh:10822klzzwxh:10811xs:enumeration value="DelegatesAndSendInformationToMe"/klzzwxh:10812klzzwxh:10823klzzwxh:10813xs:enumeration value="NoForward"/klzzwxh:10814klzzwxh:10824klzzwxh:10815/xs:restrictionklzzwxh:10816klzzwxh:10825klzzwxh:10817/xs:simpleTypeklzzwxh:10818

    klzzwxh:10826xs:complexType name="DelegateUserType"klzzwxh:10827klzzwxh:10842klzzwxh:10828xs:sequenceklzzwxh:10829klzzwxh:10843klzzwxh:10830xs:element name="UserId" type="t:UserIdType" minOccurs="1" maxOccurs="1"/klzzwxh:10831klzzwxh:10844klzzwxh:10832xs:element name="DelegatePermissions" type="t:DelegatePermissionsType" minOccurs="0" maxOccurs="1"/klzzwxh:10833klzzwxh:10845klzzwxh:10834xs:element name="ReceiveCopiesOfMeetingMessages" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10835klzzwxh:10846klzzwxh:10836xs:element name="ViewPrivateItems" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:10837klzzwxh:10847klzzwxh:10838/xs:sequenceklzzwxh:10839klzzwxh:10848klzzwxh:10840/xs:complexTypeklzzwxh:10841

    klzzwxh:10849xs:complexType name="DelegatePermissionsType"klzzwxh:10850klzzwxh:10869klzzwxh:10851xs:sequenceklzzwxh:10852klzzwxh:10870klzzwxh:10853xs:element name="CalendarFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10854klzzwxh:10871klzzwxh:10855xs:element name="TasksFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10856klzzwxh:10872klzzwxh:10857xs:element name="InboxFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10858klzzwxh:10873klzzwxh:10859xs:element name="ContactsFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10860klzzwxh:10874klzzwxh:10861xs:element name="NotesFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10862klzzwxh:10875klzzwxh:10863xs:element name="JournalFolderPermissionLevel" type="t:DelegateFolderPermissionLevelType" minOccurs="0" maxOccurs="1"/klzzwxh:10864klzzwxh:10876klzzwxh:10865/xs:sequenceklzzwxh:10866klzzwxh:10877klzzwxh:10867/xs:complexTypeklzzwxh:10868

    klzzwxh:10878xs:simpleType name="DelegateFolderPermissionLevelType"klzzwxh:10879klzzwxh:10896klzzwxh:10880xs:restriction base="xs:string"klzzwxh:10881klzzwxh:10897klzzwxh:10882xs:enumeration value="None"/klzzwxh:10883klzzwxh:10898klzzwxh:10884xs:enumeration value="Editor"/klzzwxh:10885klzzwxh:10899klzzwxh:10886xs:enumeration value="Reviewer"/klzzwxh:10887klzzwxh:10900klzzwxh:10888xs:enumeration value="Author"/klzzwxh:10889klzzwxh:10901klzzwxh:10890xs:enumeration value="Custom"/klzzwxh:10891klzzwxh:10902klzzwxh:10892/xs:restrictionklzzwxh:10893klzzwxh:10903klzzwxh:10894/xs:simpleTypeklzzwxh:10895

    klzzwxh:10904xs:complexType name="ConflictResultsType"klzzwxh:10905klzzwxh:10914klzzwxh:10906xs:sequenceklzzwxh:10907klzzwxh:10915klzzwxh:10908xs:element name="Count" type="xs:int"/klzzwxh:10909klzzwxh:10916klzzwxh:10910/xs:sequenceklzzwxh:10911klzzwxh:10917klzzwxh:10912/xs:complexTypeklzzwxh:10913

    klzzwxh:10919klzzwxh:10918-- MailTips Types --klzzwxh:10920

    klzzwxh:10921xs:simpleType name="MailTipTypes"klzzwxh:10922klzzwxh:10957klzzwxh:10923xs:listklzzwxh:10924klzzwxh:10958klzzwxh:10925xs:simpleTypeklzzwxh:10926klzzwxh:10959klzzwxh:10927xs:restriction base="xs:string"klzzwxh:10928klzzwxh:10960klzzwxh:10929xs:enumeration value="All"/klzzwxh:10930klzzwxh:10961klzzwxh:10931xs:enumeration value="OutOfOfficeMessage"/klzzwxh:10932klzzwxh:10962klzzwxh:10933xs:enumeration value="MailboxFullStatus"/klzzwxh:10934klzzwxh:10963klzzwxh:10935xs:enumeration value="CustomMailTip"/klzzwxh:10936klzzwxh:10964klzzwxh:10937xs:enumeration value="ExternalMemberCount"/klzzwxh:10938klzzwxh:10965klzzwxh:10939xs:enumeration value="TotalMemberCount"/klzzwxh:10940klzzwxh:10966klzzwxh:10941xs:enumeration value="MaxMessageSize"/klzzwxh:10942klzzwxh:10967klzzwxh:10943xs:enumeration value="DeliveryRestriction"/klzzwxh:10944klzzwxh:10968klzzwxh:10945xs:enumeration value="ModerationStatus"/klzzwxh:10946klzzwxh:10969klzzwxh:10947xs:enumeration value="InvalidRecipient"/klzzwxh:10948klzzwxh:10970klzzwxh:10949/xs:restrictionklzzwxh:10950klzzwxh:10971klzzwxh:10951/xs:simpleTypeklzzwxh:10952klzzwxh:10972klzzwxh:10953/xs:listklzzwxh:10954klzzwxh:10973klzzwxh:10955/xs:simpleTypeklzzwxh:10956

    klzzwxh:10974xs:complexType name="OutOfOfficeMailTip"klzzwxh:10975klzzwxh:10986klzzwxh:10976xs:sequenceklzzwxh:10977klzzwxh:10987klzzwxh:10978xs:element minOccurs="1" maxOccurs="1" name="ReplyBody" type="t:ReplyBody"/klzzwxh:10979klzzwxh:10988klzzwxh:10980xs:element minOccurs="0" maxOccurs="1" name="Duration" type="t:Duration"/klzzwxh:10981klzzwxh:10989klzzwxh:10982/xs:sequenceklzzwxh:10983klzzwxh:10990klzzwxh:10984/xs:complexTypeklzzwxh:10985

    klzzwxh:10991xs:complexType name="SmtpDomainList"klzzwxh:10992klzzwxh:11001klzzwxh:10993xs:sequenceklzzwxh:10994klzzwxh:11002klzzwxh:10995xs:element minOccurs="0" maxOccurs="unbounded" name="Domain" type="t:SmtpDomain"/klzzwxh:10996klzzwxh:11003klzzwxh:10997/xs:sequenceklzzwxh:10998klzzwxh:11004klzzwxh:10999/xs:complexTypeklzzwxh:11000

    klzzwxh:11005xs:complexType name="SmtpDomain"klzzwxh:11006klzzwxh:11013klzzwxh:11007xs:attribute name="Name" type="xs:string" use="required"/klzzwxh:11008klzzwxh:11014klzzwxh:11009xs:attribute name="IncludeSubdomains" type="xs:boolean" use="optional"/klzzwxh:11010klzzwxh:11015klzzwxh:11011/xs:complexTypeklzzwxh:11012

    klzzwxh:11016xs:complexType name="MailTips"klzzwxh:11017klzzwxh:11046klzzwxh:11018xs:sequenceklzzwxh:11019klzzwxh:11047klzzwxh:11020xs:element minOccurs="1" maxOccurs="1" name="RecipientAddress" type="t:EmailAddressType"/klzzwxh:11021klzzwxh:11048klzzwxh:11022xs:element minOccurs="1" maxOccurs="1" name="PendingMailTips" type="t:MailTipTypes"/klzzwxh:11023klzzwxh:11049klzzwxh:11024xs:element minOccurs="0" maxOccurs="1" name="OutOfOffice" type="t:OutOfOfficeMailTip"/klzzwxh:11025klzzwxh:11050klzzwxh:11026xs:element minOccurs="0" maxOccurs="1" name="MailboxFull" type="xs:boolean"/klzzwxh:11027klzzwxh:11051klzzwxh:11028xs:element minOccurs="0" maxOccurs="1" name="CustomMailTip" type="xs:string"/klzzwxh:11029klzzwxh:11052klzzwxh:11030xs:element minOccurs="0" maxOccurs="1" name="TotalMemberCount" type="xs:int"/klzzwxh:11031klzzwxh:11053klzzwxh:11032xs:element minOccurs="0" maxOccurs="1" name="ExternalMemberCount" type="xs:int"/klzzwxh:11033klzzwxh:11054klzzwxh:11034xs:element minOccurs="0" maxOccurs="1" name="MaxMessageSize" type="xs:int"/klzzwxh:11035klzzwxh:11055klzzwxh:11036xs:element minOccurs="0" maxOccurs="1" name="DeliveryRestricted" type="xs:boolean"/klzzwxh:11037klzzwxh:11056klzzwxh:11038xs:element minOccurs="0" maxOccurs="1" name="IsModerated" type="xs:boolean"/klzzwxh:11039klzzwxh:11057klzzwxh:11040xs:element minOccurs="0" maxOccurs="1" name="InvalidRecipient" type="xs:boolean"/klzzwxh:11041klzzwxh:11058klzzwxh:11042/xs:sequenceklzzwxh:11043klzzwxh:11059klzzwxh:11044/xs:complexTypeklzzwxh:11045

    klzzwxh:11061klzzwxh:11060-- GetServiceConfiguration Types --klzzwxh:11062klzzwxh:11085klzzwxh:11063xs:simpleType name="ServiceConfigurationType"klzzwxh:11064klzzwxh:11086klzzwxh:11065xs:listklzzwxh:11066klzzwxh:11087klzzwxh:11067xs:simpleTypeklzzwxh:11068klzzwxh:11088klzzwxh:11069xs:restriction base="xs:string"klzzwxh:11070klzzwxh:11089klzzwxh:11071xs:enumeration value="MailTips"/klzzwxh:11072klzzwxh:11090klzzwxh:11073xs:enumeration value="UnifiedMessagingConfiguration"/klzzwxh:11074klzzwxh:11091klzzwxh:11075xs:enumeration value="ProtectionRules"/klzzwxh:11076klzzwxh:11092klzzwxh:11077/xs:restrictionklzzwxh:11078klzzwxh:11093klzzwxh:11079/xs:simpleTypeklzzwxh:11080klzzwxh:11094klzzwxh:11081/xs:listklzzwxh:11082klzzwxh:11095klzzwxh:11083/xs:simpleTypeklzzwxh:11084

    klzzwxh:11097xs:complexType name="ServiceConfiguration"klzzwxh:11098klzzwxh:11103klzzwxh:11099klzzwxh:11096-- this 'base class' is available for ErrorCode / ErrorMessageklzzwxh:11104elements if those become necessary in the future. --klzzwxh:11100klzzwxh:11105klzzwxh:11101/xs:complexTypeklzzwxh:11102

    klzzwxh:11106xs:complexType name="MailTipsServiceConfiguration"klzzwxh:11107klzzwxh:11134klzzwxh:11108xs:complexContentklzzwxh:11109klzzwxh:11135klzzwxh:11110xs:extension base="t:ServiceConfiguration"klzzwxh:11111klzzwxh:11136klzzwxh:11112xs:sequenceklzzwxh:11113klzzwxh:11137klzzwxh:11114xs:element minOccurs="1" maxOccurs="1" name="MailTipsEnabled" type="xs:boolean"/klzzwxh:11115klzzwxh:11138klzzwxh:11116xs:element minOccurs="1" maxOccurs="1" name="MaxRecipientsPerGetMailTipsRequest" type="xs:int"/klzzwxh:11117klzzwxh:11139klzzwxh:11118xs:element minOccurs="1" maxOccurs="1" name="MaxMessageSize" type="xs:int"/klzzwxh:11119klzzwxh:11140klzzwxh:11120xs:element minOccurs="1" maxOccurs="1" name="LargeAudienceThreshold" type="xs:int"/klzzwxh:11121klzzwxh:11141klzzwxh:11122xs:element minOccurs="1" maxOccurs="1" name="ShowExternalRecipientCount" type="xs:boolean"/klzzwxh:11123klzzwxh:11142klzzwxh:11124xs:element minOccurs="1" maxOccurs="1" name="InternalDomains" type="t:SmtpDomainList"/klzzwxh:11125klzzwxh:11143klzzwxh:11126/xs:sequenceklzzwxh:11127klzzwxh:11144klzzwxh:11128/xs:extensionklzzwxh:11129klzzwxh:11145klzzwxh:11130/xs:complexContentklzzwxh:11131klzzwxh:11146klzzwxh:11132/xs:complexTypeklzzwxh:11133

    klzzwxh:11147xs:complexType name="UnifiedMessageServiceConfiguration"klzzwxh:11148klzzwxh:11169klzzwxh:11149xs:complexContentklzzwxh:11150klzzwxh:11170klzzwxh:11151xs:extension base="t:ServiceConfiguration"klzzwxh:11152klzzwxh:11171klzzwxh:11153xs:sequenceklzzwxh:11154klzzwxh:11172klzzwxh:11155xs:element minOccurs="1" maxOccurs="1" name="UmEnabled" type="xs:boolean"/klzzwxh:11156klzzwxh:11173klzzwxh:11157xs:element minOccurs="1" maxOccurs="1" name="PlayOnPhoneDialString" type="xs:string"/klzzwxh:11158klzzwxh:11174klzzwxh:11159xs:element minOccurs="1" maxOccurs="1" name="PlayOnPhoneEnabled" type="xs:boolean"/klzzwxh:11160klzzwxh:11175klzzwxh:11161/xs:sequenceklzzwxh:11162klzzwxh:11176klzzwxh:11163/xs:extensionklzzwxh:11164klzzwxh:11177klzzwxh:11165/xs:complexContentklzzwxh:11166klzzwxh:11178klzzwxh:11167/xs:complexTypeklzzwxh:11168

    klzzwxh:11180klzzwxh:11179-- Sharing Types --klzzwxh:11181klzzwxh:11192klzzwxh:11182xs:complexType name="ArrayOfSmtpAddressType"klzzwxh:11183klzzwxh:11193klzzwxh:11184xs:choice minOccurs="1" maxOccurs="unbounded"klzzwxh:11185klzzwxh:11194klzzwxh:11186xs:element name="SmtpAddress" type="t:NonEmptyStringType"/klzzwxh:11187klzzwxh:11195klzzwxh:11188/xs:choiceklzzwxh:11189klzzwxh:11196klzzwxh:11190/xs:complexTypeklzzwxh:11191

    klzzwxh:11197xs:complexType name="ArrayOfEncryptedSharedFolderDataType"klzzwxh:11198klzzwxh:11207klzzwxh:11199xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:11200klzzwxh:11208klzzwxh:11201xs:element name="EncryptedSharedFolderData" type="t:EncryptedSharedFolderDataType"/klzzwxh:11202klzzwxh:11209klzzwxh:11203/xs:choiceklzzwxh:11204klzzwxh:11210klzzwxh:11205/xs:complexTypeklzzwxh:11206

    klzzwxh:11211xs:complexType name="EncryptedSharedFolderDataType"klzzwxh:11212klzzwxh:11223klzzwxh:11213xs:sequenceklzzwxh:11214klzzwxh:11224klzzwxh:11215xs:element name="Token" type="t:EncryptedDataContainerType"/klzzwxh:11216klzzwxh:11225klzzwxh:11217xs:element name="Data" type="t:EncryptedDataContainerType"/klzzwxh:11218klzzwxh:11226klzzwxh:11219/xs:sequenceklzzwxh:11220klzzwxh:11227klzzwxh:11221/xs:complexTypeklzzwxh:11222

    klzzwxh:11230xs:complexType name="EncryptedDataContainerType"klzzwxh:11231klzzwxh:11240klzzwxh:11232xs:sequenceklzzwxh:11233klzzwxh:11241klzzwxh:11234xs:any processContents="skip" namespace="klzzwxh:11228klzzwxh:11229other"/klzzwxh:11235klzzwxh:11242klzzwxh:11236/xs:sequenceklzzwxh:11237klzzwxh:11243klzzwxh:11238/xs:complexTypeklzzwxh:11239

    klzzwxh:11244xs:complexType name="ArrayOfInvalidRecipientsType"klzzwxh:11245klzzwxh:11254klzzwxh:11246xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:11247klzzwxh:11255klzzwxh:11248xs:element name="InvalidRecipient" type="t:InvalidRecipientType"/klzzwxh:11249klzzwxh:11256klzzwxh:11250/xs:choiceklzzwxh:11251klzzwxh:11257klzzwxh:11252/xs:complexTypeklzzwxh:11253

    klzzwxh:11258xs:complexType name="InvalidRecipientType"klzzwxh:11259klzzwxh:11272klzzwxh:11260xs:sequenceklzzwxh:11261klzzwxh:11273klzzwxh:11262xs:element name="SmtpAddress" type="t:NonEmptyStringType"/klzzwxh:11263klzzwxh:11274klzzwxh:11264xs:element name="ResponseCode" type="t:InvalidRecipientResponseCodeType"/klzzwxh:11265klzzwxh:11275klzzwxh:11266xs:element name="MessageText" type="xs:string" minOccurs="0"/klzzwxh:11267klzzwxh:11276klzzwxh:11268/xs:sequenceklzzwxh:11269klzzwxh:11277klzzwxh:11270/xs:complexTypeklzzwxh:11271

    klzzwxh:11278xs:simpleType name="InvalidRecipientResponseCodeType"klzzwxh:11279klzzwxh:11304klzzwxh:11280xs:annotationklzzwxh:11281klzzwxh:11305klzzwxh:11282xs:documentationklzzwxh:11283klzzwxh:11306Represents the message keys that can be returned for invalid recipientsklzzwxh:11307klzzwxh:11284/xs:documentationklzzwxh:11285klzzwxh:11308klzzwxh:11286/xs:annotationklzzwxh:11287klzzwxh:11309klzzwxh:11288xs:restriction base="xs:string"klzzwxh:11289klzzwxh:11310klzzwxh:11290xs:enumeration value="OtherError"/klzzwxh:11291klzzwxh:11311klzzwxh:11292xs:enumeration value="RecipientOrganizationNotFederated"/klzzwxh:11293klzzwxh:11312klzzwxh:11294xs:enumeration value="CannotObtainTokenFromSTS"/klzzwxh:11295klzzwxh:11313klzzwxh:11296xs:enumeration value="SystemPolicyBlocksSharingWithThisRecipient"/klzzwxh:11297klzzwxh:11314klzzwxh:11298xs:enumeration value="RecipientOrganizationFederatedWithUnknownTokenIssuer"/klzzwxh:11299klzzwxh:11315klzzwxh:11300/xs:restrictionklzzwxh:11301klzzwxh:11316klzzwxh:11302/xs:simpleTypeklzzwxh:11303

    klzzwxh:11317xs:complexType name="AcceptSharingInvitationType"klzzwxh:11318klzzwxh:11327klzzwxh:11319xs:complexContentklzzwxh:11320klzzwxh:11328klzzwxh:11321xs:extension base="t:ReferenceItemResponseType"/klzzwxh:11322klzzwxh:11329klzzwxh:11323/xs:complexContentklzzwxh:11324klzzwxh:11330klzzwxh:11325/xs:complexTypeklzzwxh:11326

    klzzwxh:11331xs:simpleType name="SharingDataType"klzzwxh:11332klzzwxh:11343klzzwxh:11333xs:restriction base="xs:string"klzzwxh:11334klzzwxh:11344klzzwxh:11335xs:enumeration value="Calendar"/klzzwxh:11336klzzwxh:11345klzzwxh:11337xs:enumeration value="Contacts"/klzzwxh:11338klzzwxh:11346klzzwxh:11339/xs:restrictionklzzwxh:11340klzzwxh:11347klzzwxh:11341/xs:simpleTypeklzzwxh:11342

    klzzwxh:11349klzzwxh:11348-- UMTypes --klzzwxh:11350klzzwxh:11357klzzwxh:11351xs:complexType name="PhoneCallIdType"klzzwxh:11352klzzwxh:11358klzzwxh:11353xs:attribute name="Id" type="xs:string" use="required"/klzzwxh:11354klzzwxh:11359klzzwxh:11355/xs:complexTypeklzzwxh:11356

    klzzwxh:11360xs:complexType name="PhoneCallInformationType"klzzwxh:11361klzzwxh:11376klzzwxh:11362xs:sequenceklzzwxh:11363klzzwxh:11377klzzwxh:11364xs:element name="PhoneCallState" type="t:PhoneCallStateType" minOccurs="1" maxOccurs="1"/klzzwxh:11365klzzwxh:11378klzzwxh:11366xs:element name="ConnectionFailureCause" type="t:ConnectionFailureCauseType" minOccurs="1" maxOccurs="1"/klzzwxh:11367klzzwxh:11379klzzwxh:11368xs:element name="SIPResponseText" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:11369klzzwxh:11380klzzwxh:11370xs:element name="SIPResponseCode" type="xs:int" minOccurs="0" maxOccurs="1"/klzzwxh:11371klzzwxh:11381klzzwxh:11372/xs:sequenceklzzwxh:11373klzzwxh:11382klzzwxh:11374/xs:complexTypeklzzwxh:11375

    klzzwxh:11383xs:simpleType name="PhoneCallStateType"klzzwxh:11384klzzwxh:11407klzzwxh:11385xs:restriction base="xs:string"klzzwxh:11386klzzwxh:11408klzzwxh:11387xs:enumeration value="Idle"/klzzwxh:11388klzzwxh:11409klzzwxh:11389xs:enumeration value="Connecting"/klzzwxh:11390klzzwxh:11410klzzwxh:11391xs:enumeration value="Alerted"/klzzwxh:11392klzzwxh:11411klzzwxh:11393xs:enumeration value="Connected"/klzzwxh:11394klzzwxh:11412klzzwxh:11395xs:enumeration value="Disconnected"/klzzwxh:11396klzzwxh:11413klzzwxh:11397xs:enumeration value="Incoming"/klzzwxh:11398klzzwxh:11414klzzwxh:11399xs:enumeration value="Transferring"/klzzwxh:11400klzzwxh:11415klzzwxh:11401xs:enumeration value="Forwarding"/klzzwxh:11402klzzwxh:11416klzzwxh:11403/xs:restrictionklzzwxh:11404klzzwxh:11417klzzwxh:11405/xs:simpleTypeklzzwxh:11406

    klzzwxh:11418xs:simpleType name="ConnectionFailureCauseType"klzzwxh:11419klzzwxh:11436klzzwxh:11420xs:restriction base="xs:string"klzzwxh:11421klzzwxh:11437klzzwxh:11422xs:enumeration value="None"/klzzwxh:11423klzzwxh:11438klzzwxh:11424xs:enumeration value="UserBusy"/klzzwxh:11425klzzwxh:11439klzzwxh:11426xs:enumeration value="NoAnswer"/klzzwxh:11427klzzwxh:11440klzzwxh:11428xs:enumeration value="Unavailable"/klzzwxh:11429klzzwxh:11441klzzwxh:11430xs:enumeration value="Other"/klzzwxh:11431klzzwxh:11442klzzwxh:11432/xs:restrictionklzzwxh:11433klzzwxh:11443klzzwxh:11434/xs:simpleTypeklzzwxh:11435

    klzzwxh:11445klzzwxh:11444-- UserConfiguration Types --klzzwxh:11446

    klzzwxh:11447xs:complexType name="UserConfigurationNameType"klzzwxh:11448klzzwxh:11461klzzwxh:11449xs:complexContentklzzwxh:11450klzzwxh:11462klzzwxh:11451xs:extension base="t:TargetFolderIdType"klzzwxh:11452klzzwxh:11463klzzwxh:11453xs:attribute name="Name" type="t:NonEmptyStringType" use="required"/klzzwxh:11454klzzwxh:11464klzzwxh:11455/xs:extensionklzzwxh:11456klzzwxh:11465klzzwxh:11457/xs:complexContentklzzwxh:11458klzzwxh:11466klzzwxh:11459/xs:complexTypeklzzwxh:11460

    klzzwxh:11467xs:simpleType name="UserConfigurationDictionaryObjectTypesType"klzzwxh:11468klzzwxh:11495klzzwxh:11469xs:restriction base="xs:string"klzzwxh:11470klzzwxh:11496klzzwxh:11471xs:enumeration value="DateTime"/klzzwxh:11472klzzwxh:11497klzzwxh:11473xs:enumeration value="Boolean"/klzzwxh:11474klzzwxh:11498klzzwxh:11475xs:enumeration value="Byte"/klzzwxh:11476klzzwxh:11499klzzwxh:11477xs:enumeration value="String"/klzzwxh:11478klzzwxh:11500klzzwxh:11479xs:enumeration value="Integer32"/klzzwxh:11480klzzwxh:11501klzzwxh:11481xs:enumeration value="UnsignedInteger32"/klzzwxh:11482klzzwxh:11502klzzwxh:11483xs:enumeration value="Integer64"/klzzwxh:11484klzzwxh:11503klzzwxh:11485xs:enumeration value="UnsignedInteger64"/klzzwxh:11486klzzwxh:11504klzzwxh:11487xs:enumeration value="StringArray"/klzzwxh:11488klzzwxh:11505klzzwxh:11489xs:enumeration value="ByteArray"/klzzwxh:11490klzzwxh:11506klzzwxh:11491/xs:restrictionklzzwxh:11492klzzwxh:11507klzzwxh:11493/xs:simpleTypeklzzwxh:11494

    klzzwxh:11508xs:complexType name="UserConfigurationDictionaryObjectType"klzzwxh:11509klzzwxh:11520klzzwxh:11510xs:sequenceklzzwxh:11511klzzwxh:11521klzzwxh:11512xs:element name="Type" type="t:UserConfigurationDictionaryObjectTypesType" minOccurs="1" maxOccurs="1"/klzzwxh:11513klzzwxh:11522klzzwxh:11514xs:element name="Value" type="xs:string" minOccurs="1" maxOccurs="unbounded"/klzzwxh:11515klzzwxh:11523klzzwxh:11516/xs:sequenceklzzwxh:11517klzzwxh:11524klzzwxh:11518/xs:complexTypeklzzwxh:11519

    klzzwxh:11525xs:complexType name="UserConfigurationDictionaryEntryType"klzzwxh:11526klzzwxh:11537klzzwxh:11527xs:sequenceklzzwxh:11528klzzwxh:11538klzzwxh:11529xs:element name="DictionaryKey" type="t:UserConfigurationDictionaryObjectType" minOccurs="1" maxOccurs="1"/klzzwxh:11530klzzwxh:11539klzzwxh:11531xs:element name="DictionaryValue" type="t:UserConfigurationDictionaryObjectType" nillable="true" minOccurs="1" maxOccurs="1"/klzzwxh:11532klzzwxh:11540klzzwxh:11533/xs:sequenceklzzwxh:11534klzzwxh:11541klzzwxh:11535/xs:complexTypeklzzwxh:11536

    klzzwxh:11542xs:complexType name="UserConfigurationDictionaryType"klzzwxh:11543klzzwxh:11552klzzwxh:11544xs:sequenceklzzwxh:11545klzzwxh:11553klzzwxh:11546xs:element name="DictionaryEntry" type="t:UserConfigurationDictionaryEntryType" minOccurs="0" maxOccurs="unbounded"/klzzwxh:11547klzzwxh:11554klzzwxh:11548/xs:sequenceklzzwxh:11549klzzwxh:11555klzzwxh:11550/xs:complexTypeklzzwxh:11551

    klzzwxh:11556xs:complexType name="UserConfigurationType"klzzwxh:11557klzzwxh:11574klzzwxh:11558xs:sequenceklzzwxh:11559klzzwxh:11575klzzwxh:11560xs:element name="UserConfigurationName" type="t:UserConfigurationNameType" minOccurs="1" maxOccurs="1"/klzzwxh:11561klzzwxh:11576klzzwxh:11562xs:element name="ItemId" type="t:ItemIdType" minOccurs="0" maxOccurs="1"/klzzwxh:11563klzzwxh:11577klzzwxh:11564xs:element name="Dictionary" type="t:UserConfigurationDictionaryType" minOccurs="0" maxOccurs="1"/klzzwxh:11565klzzwxh:11578klzzwxh:11566xs:element name="XmlData" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/klzzwxh:11567klzzwxh:11579klzzwxh:11568xs:element name="BinaryData" type="xs:base64Binary" minOccurs="0" maxOccurs="1"/klzzwxh:11569klzzwxh:11580klzzwxh:11570/xs:sequenceklzzwxh:11571klzzwxh:11581klzzwxh:11572/xs:complexTypeklzzwxh:11573

    klzzwxh:11582xs:simpleType name="UserConfigurationPropertyType"klzzwxh:11583klzzwxh:11608klzzwxh:11584xs:listklzzwxh:11585klzzwxh:11609klzzwxh:11586xs:simpleTypeklzzwxh:11587klzzwxh:11610klzzwxh:11588xs:restriction base="xs:string"klzzwxh:11589klzzwxh:11611klzzwxh:11590xs:enumeration value="Id"/klzzwxh:11591klzzwxh:11612klzzwxh:11592xs:enumeration value="Dictionary"/klzzwxh:11593klzzwxh:11613klzzwxh:11594xs:enumeration value="XmlData"/klzzwxh:11595klzzwxh:11614klzzwxh:11596xs:enumeration value="BinaryData"/klzzwxh:11597klzzwxh:11615klzzwxh:11598xs:enumeration value="All"/klzzwxh:11599klzzwxh:11616klzzwxh:11600/xs:restrictionklzzwxh:11601klzzwxh:11617klzzwxh:11602/xs:simpleTypeklzzwxh:11603klzzwxh:11618klzzwxh:11604/xs:listklzzwxh:11605klzzwxh:11619klzzwxh:11606/xs:simpleTypeklzzwxh:11607

    klzzwxh:11620xs:complexType name="ProtectionRulesServiceConfiguration"klzzwxh:11621klzzwxh:11654klzzwxh:11622xs:complexContentklzzwxh:11623klzzwxh:11655klzzwxh:11624xs:extension base="t:ServiceConfiguration"klzzwxh:11625klzzwxh:11656klzzwxh:11626xs:sequenceklzzwxh:11627klzzwxh:11657klzzwxh:11628xs:element name="Rules" type="t:ArrayOfProtectionRulesType" minOccurs="1" maxOccurs="1"/klzzwxh:11629klzzwxh:11658klzzwxh:11630xs:element name="InternalDomains" type="t:SmtpDomainList" minOccurs="1" maxOccurs="1"/klzzwxh:11631klzzwxh:11659klzzwxh:11632/xs:sequenceklzzwxh:11633klzzwxh:11660klzzwxh:11634xs:attribute name="RefreshInterval" use="required"klzzwxh:11635klzzwxh:11661klzzwxh:11636xs:simpleTypeklzzwxh:11637klzzwxh:11662klzzwxh:11638xs:restriction base="xs:int"klzzwxh:11639klzzwxh:11663klzzwxh:11640xs:minInclusive value="1"/klzzwxh:11641klzzwxh:11664klzzwxh:11642/xs:restrictionklzzwxh:11643klzzwxh:11665klzzwxh:11644/xs:simpleTypeklzzwxh:11645klzzwxh:11666klzzwxh:11646/xs:attributeklzzwxh:11647klzzwxh:11667klzzwxh:11648/xs:extensionklzzwxh:11649klzzwxh:11668klzzwxh:11650/xs:complexContentklzzwxh:11651klzzwxh:11669klzzwxh:11652/xs:complexTypeklzzwxh:11653

    klzzwxh:11670xs:complexType name="ArrayOfProtectionRulesType"klzzwxh:11671klzzwxh:11682klzzwxh:11672xs:sequenceklzzwxh:11673klzzwxh:11683klzzwxh:11674xs:element name="Rule" type="t:ProtectionRuleType" minOccurs="0" maxOccurs="unbounded"klzzwxh:11675klzzwxh:11684klzzwxh:11676/xs:elementklzzwxh:11677klzzwxh:11685klzzwxh:11678/xs:sequenceklzzwxh:11679klzzwxh:11686klzzwxh:11680/xs:complexTypeklzzwxh:11681

    klzzwxh:11687xs:complexType name="ProtectionRuleType"klzzwxh:11688klzzwxh:11729klzzwxh:11689xs:sequenceklzzwxh:11690klzzwxh:11730klzzwxh:11691xs:element name="Condition" type="t:ProtectionRuleConditionType" minOccurs="1" maxOccurs="1"/klzzwxh:11692klzzwxh:11731klzzwxh:11693xs:element name="Action" type="t:ProtectionRuleActionType" minOccurs="1" maxOccurs="1"/klzzwxh:11694klzzwxh:11732klzzwxh:11695/xs:sequenceklzzwxh:11696klzzwxh:11733klzzwxh:11697xs:attribute name="Name" use="required"klzzwxh:11698klzzwxh:11734klzzwxh:11699xs:simpleTypeklzzwxh:11700klzzwxh:11735klzzwxh:11701xs:restriction base="xs:string"klzzwxh:11702klzzwxh:11736klzzwxh:11703xs:minLength value="1"/klzzwxh:11704klzzwxh:11737klzzwxh:11705/xs:restrictionklzzwxh:11706klzzwxh:11738klzzwxh:11707/xs:simpleTypeklzzwxh:11708klzzwxh:11739klzzwxh:11709/xs:attributeklzzwxh:11710klzzwxh:11740klzzwxh:11711xs:attribute name="UserOverridable" type="xs:boolean" use="required"/klzzwxh:11712klzzwxh:11741klzzwxh:11713xs:attribute name="Priority" use="required"klzzwxh:11714klzzwxh:11742klzzwxh:11715xs:simpleTypeklzzwxh:11716klzzwxh:11743klzzwxh:11717xs:restriction base="xs:int"klzzwxh:11718klzzwxh:11744klzzwxh:11719xs:minInclusive value="1"/klzzwxh:11720klzzwxh:11745klzzwxh:11721/xs:restrictionklzzwxh:11722klzzwxh:11746klzzwxh:11723/xs:simpleTypeklzzwxh:11724klzzwxh:11747klzzwxh:11725/xs:attributeklzzwxh:11726klzzwxh:11748klzzwxh:11727/xs:complexTypeklzzwxh:11728

    klzzwxh:11749xs:complexType name="ProtectionRuleConditionType"klzzwxh:11750klzzwxh:11767klzzwxh:11751xs:choice minOccurs="1" maxOccurs="1"klzzwxh:11752klzzwxh:11768klzzwxh:11753xs:element name="AllInternal" type="t:ProtectionRuleAllInternalType"/klzzwxh:11754klzzwxh:11769klzzwxh:11755xs:element name="And" type="t:ProtectionRuleAndType"/klzzwxh:11756klzzwxh:11770klzzwxh:11757xs:element name="RecipientIs" type="t:ProtectionRuleRecipientIsType"/klzzwxh:11758klzzwxh:11771klzzwxh:11759xs:element name="SenderDepartments" type="t:ProtectionRuleSenderDepartmentsType"/klzzwxh:11760klzzwxh:11772klzzwxh:11761xs:element name="True" type="t:ProtectionRuleTrueType"/klzzwxh:11762klzzwxh:11773klzzwxh:11763/xs:choiceklzzwxh:11764klzzwxh:11774klzzwxh:11765/xs:complexTypeklzzwxh:11766

    klzzwxh:11775xs:complexType name="ProtectionRuleAndType"klzzwxh:11776klzzwxh:11797klzzwxh:11777xs:sequenceklzzwxh:11778klzzwxh:11798klzzwxh:11779xs:choice minOccurs="1" maxOccurs="unbounded"klzzwxh:11780klzzwxh:11799klzzwxh:11781xs:element name="AllInternal" type="t:ProtectionRuleAllInternalType"/klzzwxh:11782klzzwxh:11800klzzwxh:11783xs:element name="And" type="t:ProtectionRuleAndType"/klzzwxh:11784klzzwxh:11801klzzwxh:11785xs:element name="RecipientIs" type="t:ProtectionRuleRecipientIsType"/klzzwxh:11786klzzwxh:11802klzzwxh:11787xs:element name="SenderDepartments" type="t:ProtectionRuleSenderDepartmentsType"/klzzwxh:11788klzzwxh:11803klzzwxh:11789xs:element name="True" type="t:ProtectionRuleTrueType"/klzzwxh:11790klzzwxh:11804klzzwxh:11791/xs:choiceklzzwxh:11792klzzwxh:11805klzzwxh:11793/xs:sequenceklzzwxh:11794klzzwxh:11806klzzwxh:11795/xs:complexTypeklzzwxh:11796

    klzzwxh:11807xs:complexType name="ProtectionRuleRecipientIsType"klzzwxh:11808klzzwxh:11817klzzwxh:11809xs:sequenceklzzwxh:11810klzzwxh:11818klzzwxh:11811xs:element name="Value" type="t:ProtectionRuleValueType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:11812klzzwxh:11819klzzwxh:11813/xs:sequenceklzzwxh:11814klzzwxh:11820klzzwxh:11815/xs:complexTypeklzzwxh:11816

    klzzwxh:11821xs:complexType name="ProtectionRuleSenderDepartmentsType"klzzwxh:11822klzzwxh:11831klzzwxh:11823xs:sequenceklzzwxh:11824klzzwxh:11832klzzwxh:11825xs:element name="Value" type="t:ProtectionRuleValueType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:11826klzzwxh:11833klzzwxh:11827/xs:sequenceklzzwxh:11828klzzwxh:11834klzzwxh:11829/xs:complexTypeklzzwxh:11830

    klzzwxh:11835xs:simpleType name="ProtectionRuleTrueType"klzzwxh:11836klzzwxh:11845klzzwxh:11837xs:restriction base="xs:string"klzzwxh:11838klzzwxh:11846klzzwxh:11839xs:length value="0"/klzzwxh:11840klzzwxh:11847klzzwxh:11841/xs:restrictionklzzwxh:11842klzzwxh:11848klzzwxh:11843/xs:simpleTypeklzzwxh:11844

    klzzwxh:11849xs:simpleType name="ProtectionRuleAllInternalType"klzzwxh:11850klzzwxh:11859klzzwxh:11851xs:restriction base="xs:string"klzzwxh:11852klzzwxh:11860klzzwxh:11853xs:length value="0"/klzzwxh:11854klzzwxh:11861klzzwxh:11855/xs:restrictionklzzwxh:11856klzzwxh:11862klzzwxh:11857/xs:simpleTypeklzzwxh:11858

    klzzwxh:11863xs:simpleType name="ProtectionRuleValueType"klzzwxh:11864klzzwxh:11873klzzwxh:11865xs:restriction base="xs:string"klzzwxh:11866klzzwxh:11874klzzwxh:11867xs:minLength value="1"/klzzwxh:11868klzzwxh:11875klzzwxh:11869/xs:restrictionklzzwxh:11870klzzwxh:11876klzzwxh:11871/xs:simpleTypeklzzwxh:11872

    klzzwxh:11877xs:simpleType name="ProtectionRuleActionKindType"klzzwxh:11878klzzwxh:11887klzzwxh:11879xs:restriction base="xs:string"klzzwxh:11880klzzwxh:11888klzzwxh:11881xs:enumeration value="RightsProtectMessage"/klzzwxh:11882klzzwxh:11889klzzwxh:11883/xs:restrictionklzzwxh:11884klzzwxh:11890klzzwxh:11885/xs:simpleTypeklzzwxh:11886

    klzzwxh:11891xs:complexType name="ProtectionRuleActionType"klzzwxh:11892klzzwxh:11903klzzwxh:11893xs:sequenceklzzwxh:11894klzzwxh:11904klzzwxh:11895xs:element name="Argument" type="t:ProtectionRuleArgumentType" minOccurs="0" maxOccurs="unbounded"/klzzwxh:11896klzzwxh:11905klzzwxh:11897/xs:sequenceklzzwxh:11898klzzwxh:11906klzzwxh:11899xs:attribute name="Name" use="required" type="t:ProtectionRuleActionKindType"/klzzwxh:11900klzzwxh:11907klzzwxh:11901/xs:complexTypeklzzwxh:11902

    klzzwxh:11908xs:complexType name="ProtectionRuleArgumentType"klzzwxh:11909klzzwxh:11926klzzwxh:11910xs:attribute name="Value" use="required"klzzwxh:11911klzzwxh:11927klzzwxh:11912xs:simpleTypeklzzwxh:11913klzzwxh:11928klzzwxh:11914xs:restriction base="xs:string"klzzwxh:11915klzzwxh:11929klzzwxh:11916xs:minLength value="1"/klzzwxh:11917klzzwxh:11930klzzwxh:11918/xs:restrictionklzzwxh:11919klzzwxh:11931klzzwxh:11920/xs:simpleTypeklzzwxh:11921klzzwxh:11932klzzwxh:11922/xs:attributeklzzwxh:11923klzzwxh:11933klzzwxh:11924/xs:complexTypeklzzwxh:11925

    klzzwxh:11935klzzwxh:11934-- MessageTracking --klzzwxh:11936klzzwxh:11963klzzwxh:11937xs:complexType name="FindMessageTrackingSearchResultType"klzzwxh:11938klzzwxh:11964klzzwxh:11939xs:allklzzwxh:11940klzzwxh:11965klzzwxh:11941xs:element name="Subject" type="xs:string"/klzzwxh:11942klzzwxh:11966klzzwxh:11943xs:element name="Sender" type="t:EmailAddressType"/klzzwxh:11944klzzwxh:11967klzzwxh:11945xs:element name="PurportedSender" type="t:EmailAddressType" minOccurs="0"/klzzwxh:11946klzzwxh:11968klzzwxh:11947xs:element name="Recipients" type="t:ArrayOfRecipientsType"/klzzwxh:11948klzzwxh:11969klzzwxh:11949xs:element name="SubmittedTime" type="xs:dateTime"/klzzwxh:11950klzzwxh:11970klzzwxh:11951xs:element name="MessageTrackingReportId" type="t:NonEmptyStringType"/klzzwxh:11952klzzwxh:11971klzzwxh:11953xs:element name="PreviousHopServer" type="t:NonEmptyStringType" minOccurs="0"/klzzwxh:11954klzzwxh:11972klzzwxh:11955xs:element name="FirstHopServer" type="t:NonEmptyStringType" minOccurs="0"/klzzwxh:11956klzzwxh:11973klzzwxh:11957xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0"/klzzwxh:11958klzzwxh:11974klzzwxh:11959/xs:allklzzwxh:11960klzzwxh:11975klzzwxh:11961/xs:complexTypeklzzwxh:11962

    klzzwxh:11976xs:complexType name="ArrayOfFindMessageTrackingSearchResultType"klzzwxh:11977klzzwxh:11986klzzwxh:11978xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:11979klzzwxh:11987klzzwxh:11980xs:element name="MessageTrackingSearchResult" type="t:FindMessageTrackingSearchResultType"/klzzwxh:11981klzzwxh:11988klzzwxh:11982/xs:choiceklzzwxh:11983klzzwxh:11989klzzwxh:11984/xs:complexTypeklzzwxh:11985

    klzzwxh:11990xs:simpleType name="MessageTrackingReportTemplateType"klzzwxh:11991klzzwxh:12002klzzwxh:11992xs:restriction base="xs:string"klzzwxh:11993klzzwxh:12003klzzwxh:11994xs:enumeration value="Summary"/klzzwxh:11995klzzwxh:12004klzzwxh:11996xs:enumeration value="RecipientPath"/klzzwxh:11997klzzwxh:12005klzzwxh:11998/xs:restrictionklzzwxh:11999klzzwxh:12006klzzwxh:12000/xs:simpleTypeklzzwxh:12001

    klzzwxh:12007xs:complexType name="RecipientTrackingEventType"klzzwxh:12008klzzwxh:12039klzzwxh:12009xs:allklzzwxh:12010klzzwxh:12040klzzwxh:12011xs:element name="Date" type="xs:dateTime"/klzzwxh:12012klzzwxh:12041klzzwxh:12013xs:element name="Recipient" type="t:EmailAddressType"/klzzwxh:12014klzzwxh:12042klzzwxh:12015xs:element name="DeliveryStatus" type="xs:string"/klzzwxh:12016klzzwxh:12043klzzwxh:12017xs:element name="EventDescription" type="xs:string"/klzzwxh:12018klzzwxh:12044klzzwxh:12019xs:element name="EventData" type="t:ArrayOfStringsType" minOccurs="0"/klzzwxh:12020klzzwxh:12045klzzwxh:12021xs:element name="Server" type="t:NonEmptyStringType"/klzzwxh:12022klzzwxh:12046klzzwxh:12023xs:element name="InternalId" type="xs:nonNegativeInteger"/klzzwxh:12024klzzwxh:12047klzzwxh:12025xs:element name="BccRecipient" type="xs:boolean" minOccurs="0"/klzzwxh:12026klzzwxh:12048klzzwxh:12027xs:element name="HiddenRecipient" type="xs:boolean" minOccurs="0"/klzzwxh:12028klzzwxh:12049klzzwxh:12029xs:element name="UniquePathId" type="t:NonEmptyStringType" minOccurs="0"/klzzwxh:12030klzzwxh:12050klzzwxh:12031xs:element name="RootAddress" type="t:NonEmptyStringType" minOccurs="0"/klzzwxh:12032klzzwxh:12051klzzwxh:12033xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0"/klzzwxh:12034klzzwxh:12052klzzwxh:12035/xs:allklzzwxh:12036klzzwxh:12053klzzwxh:12037/xs:complexTypeklzzwxh:12038

    klzzwxh:12054xs:complexType name="MessageTrackingReportType"klzzwxh:12055klzzwxh:12076klzzwxh:12056xs:allklzzwxh:12057klzzwxh:12077klzzwxh:12058xs:element name="Sender" type="t:EmailAddressType" minOccurs="0"/klzzwxh:12059klzzwxh:12078klzzwxh:12060xs:element name="PurportedSender" type="t:EmailAddressType" minOccurs="0"/klzzwxh:12061klzzwxh:12079klzzwxh:12062xs:element name="Subject" type="xs:string" minOccurs="0"/klzzwxh:12063klzzwxh:12080klzzwxh:12064xs:element name="SubmitTime" type="xs:dateTime" minOccurs="0"/klzzwxh:12065klzzwxh:12081klzzwxh:12066xs:element name="OriginalRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0"/klzzwxh:12067klzzwxh:12082klzzwxh:12068xs:element name="RecipientTrackingEvents" type="t:ArrayOfRecipientTrackingEventType"/klzzwxh:12069klzzwxh:12083klzzwxh:12070xs:element name="Properties" type="t:ArrayOfTrackingPropertiesType" minOccurs="0"/klzzwxh:12071klzzwxh:12084klzzwxh:12072/xs:allklzzwxh:12073klzzwxh:12085klzzwxh:12074/xs:complexTypeklzzwxh:12075

    klzzwxh:12086xs:complexType name="TrackingPropertyType"klzzwxh:12087klzzwxh:12098klzzwxh:12088xs:sequenceklzzwxh:12089klzzwxh:12099klzzwxh:12090xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:12091klzzwxh:12100klzzwxh:12092xs:element name="Value" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:12093klzzwxh:12101klzzwxh:12094/xs:sequenceklzzwxh:12095klzzwxh:12102klzzwxh:12096/xs:complexTypeklzzwxh:12097

    klzzwxh:12103xs:complexType name="ArrayOfTrackingPropertiesType"klzzwxh:12104klzzwxh:12113klzzwxh:12105xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:12106klzzwxh:12114klzzwxh:12107xs:element name="TrackingPropertyType" type="t:TrackingPropertyType"/klzzwxh:12108klzzwxh:12115klzzwxh:12109/xs:choiceklzzwxh:12110klzzwxh:12116klzzwxh:12111/xs:complexTypeklzzwxh:12112

    klzzwxh:12117xs:complexType name="ArrayOfArraysOfTrackingPropertiesType"klzzwxh:12118klzzwxh:12127klzzwxh:12119xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:12120klzzwxh:12128klzzwxh:12121xs:element name="ArrayOfTrackingPropertiesType" type="t:ArrayOfTrackingPropertiesType"/klzzwxh:12122klzzwxh:12129klzzwxh:12123/xs:choiceklzzwxh:12124klzzwxh:12130klzzwxh:12125/xs:complexTypeklzzwxh:12126

    klzzwxh:12131xs:complexType name="ArrayOfRecipientTrackingEventType"klzzwxh:12132klzzwxh:12141klzzwxh:12133xs:choice minOccurs="0" maxOccurs="unbounded"klzzwxh:12134klzzwxh:12142klzzwxh:12135xs:element name="RecipientTrackingEvent" type="t:RecipientTrackingEventType"/klzzwxh:12136klzzwxh:12143klzzwxh:12137/xs:choiceklzzwxh:12138klzzwxh:12144klzzwxh:12139/xs:complexTypeklzzwxh:12140

    klzzwxh:12146klzzwxh:12145-- Rules --klzzwxh:12147klzzwxh:12168klzzwxh:12148xs:complexType name="RulePredicateSizeRangeType"klzzwxh:12149klzzwxh:12169klzzwxh:12150xs:annotationklzzwxh:12151klzzwxh:12170klzzwxh:12152xs:documentationklzzwxh:12153Size range type used for the WithinSizeRange rule predicate.klzzwxh:12154/xs:documentationklzzwxh:12155klzzwxh:12171klzzwxh:12156/xs:annotationklzzwxh:12157klzzwxh:12172klzzwxh:12158xs:sequenceklzzwxh:12159klzzwxh:12173klzzwxh:12160xs:element name="MinimumSize" type="xs:int" minOccurs="0" maxOccurs="1"/klzzwxh:12161klzzwxh:12174klzzwxh:12162xs:element name="MaximumSize" type="xs:int" minOccurs="0" maxOccurs="1"/klzzwxh:12163klzzwxh:12175klzzwxh:12164/xs:sequenceklzzwxh:12165klzzwxh:12176klzzwxh:12166/xs:complexTypeklzzwxh:12167

    klzzwxh:12177xs:complexType name="RulePredicateDateRangeType"klzzwxh:12178klzzwxh:12197klzzwxh:12179xs:annotationklzzwxh:12180klzzwxh:12198klzzwxh:12181xs:documentationklzzwxh:12182Date range type used for the WithinDateRange rule predicate.klzzwxh:12183/xs:documentationklzzwxh:12184klzzwxh:12199klzzwxh:12185/xs:annotationklzzwxh:12186klzzwxh:12200klzzwxh:12187xs:sequenceklzzwxh:12188klzzwxh:12201klzzwxh:12189xs:element name="StartDateTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/klzzwxh:12190klzzwxh:12202klzzwxh:12191xs:element name="EndDateTime" type="xs:dateTime" minOccurs="0" maxOccurs="1"/klzzwxh:12192klzzwxh:12203klzzwxh:12193/xs:sequenceklzzwxh:12194klzzwxh:12204klzzwxh:12195/xs:complexTypeklzzwxh:12196

    klzzwxh:12205xs:simpleType name="FlaggedForActionType"klzzwxh:12206klzzwxh:12243klzzwxh:12207xs:annotationklzzwxh:12208klzzwxh:12244klzzwxh:12209xs:documentationklzzwxh:12210Flagged for action enumeration, currently used in FlaggedForAction rule predicateklzzwxh:12211/xs:documentationklzzwxh:12212klzzwxh:12245klzzwxh:12213/xs:annotationklzzwxh:12214klzzwxh:12246klzzwxh:12215xs:restriction base="xs:string"klzzwxh:12216klzzwxh:12247klzzwxh:12217xs:enumeration value="Any"/klzzwxh:12218klzzwxh:12248klzzwxh:12219xs:enumeration value="Call"/klzzwxh:12220klzzwxh:12249klzzwxh:12221xs:enumeration value="DoNotForward"/klzzwxh:12222klzzwxh:12250klzzwxh:12223xs:enumeration value="FollowUp"/klzzwxh:12224klzzwxh:12251klzzwxh:12225xs:enumeration value="FYI"/klzzwxh:12226klzzwxh:12252klzzwxh:12227xs:enumeration value="Forward"/klzzwxh:12228klzzwxh:12253klzzwxh:12229xs:enumeration value="NoResponseNecessary"/klzzwxh:12230klzzwxh:12254klzzwxh:12231xs:enumeration value="Read"/klzzwxh:12232klzzwxh:12255klzzwxh:12233xs:enumeration value="Reply"/klzzwxh:12234klzzwxh:12256klzzwxh:12235xs:enumeration value="ReplyToAll"/klzzwxh:12236klzzwxh:12257klzzwxh:12237xs:enumeration value="Review"/klzzwxh:12238klzzwxh:12258klzzwxh:12239/xs:restrictionklzzwxh:12240klzzwxh:12259klzzwxh:12241/xs:simpleTypeklzzwxh:12242

    klzzwxh:12260xs:complexType name="RulePredicatesType"klzzwxh:12261klzzwxh:12344klzzwxh:12262xs:annotationklzzwxh:12263klzzwxh:12345klzzwxh:12264xs:documentationklzzwxh:12265Rule predicates, used as rule conditions or exceptionsklzzwxh:12266/xs:documentationklzzwxh:12267klzzwxh:12346klzzwxh:12268/xs:annotationklzzwxh:12269klzzwxh:12347klzzwxh:12270xs:sequenceklzzwxh:12271klzzwxh:12348klzzwxh:12272xs:element name="Categories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12273klzzwxh:12349klzzwxh:12274xs:element name="ContainsBodyStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12275klzzwxh:12350klzzwxh:12276xs:element name="ContainsHeaderStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12277klzzwxh:12351klzzwxh:12278xs:element name="ContainsRecipientStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12279klzzwxh:12352klzzwxh:12280xs:element name="ContainsSenderStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12281klzzwxh:12353klzzwxh:12282xs:element name="ContainsSubjectOrBodyStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12283klzzwxh:12354klzzwxh:12284xs:element name="ContainsSubjectStrings" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12285klzzwxh:12355klzzwxh:12286xs:element name="FlaggedForAction" type="t:FlaggedForActionType" minOccurs="0" maxOccurs="1"/klzzwxh:12287klzzwxh:12356klzzwxh:12288xs:element name="FromAddresses" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12289klzzwxh:12357klzzwxh:12290xs:element name="FromConnectedAccounts" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12291klzzwxh:12358klzzwxh:12292xs:element name="HasAttachments" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12293klzzwxh:12359klzzwxh:12294xs:element name="Importance" type="t:ImportanceChoicesType" minOccurs="0" maxOccurs="1"/klzzwxh:12295klzzwxh:12360klzzwxh:12296xs:element name="IsApprovalRequest" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12297klzzwxh:12361klzzwxh:12298xs:element name="IsAutomaticForward" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12299klzzwxh:12362klzzwxh:12300xs:element name="IsAutomaticReply" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12301klzzwxh:12363klzzwxh:12302xs:element name="IsEncrypted" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12303klzzwxh:12364klzzwxh:12304xs:element name="IsMeetingRequest" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12305klzzwxh:12365klzzwxh:12306xs:element name="IsMeetingResponse" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12307klzzwxh:12366klzzwxh:12308xs:element name="IsNDR" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12309klzzwxh:12367klzzwxh:12310xs:element name="IsPermissionControlled" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12311klzzwxh:12368klzzwxh:12312xs:element name="IsReadReceipt" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12313klzzwxh:12369klzzwxh:12314xs:element name="IsSigned" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12315klzzwxh:12370klzzwxh:12316xs:element name="IsVoicemail" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12317klzzwxh:12371klzzwxh:12318xs:element name="ItemClasses" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12319klzzwxh:12372klzzwxh:12320xs:element name="MessageClassifications" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12321klzzwxh:12373klzzwxh:12322xs:element name="NotSentToMe" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12323klzzwxh:12374klzzwxh:12324xs:element name="SentCcMe" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12325klzzwxh:12375klzzwxh:12326xs:element name="SentOnlyToMe" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12327klzzwxh:12376klzzwxh:12328xs:element name="SentToAddresses" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12329klzzwxh:12377klzzwxh:12330xs:element name="SentToMe" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12331klzzwxh:12378klzzwxh:12332xs:element name="SentToOrCcMe" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12333klzzwxh:12379klzzwxh:12334xs:element name="Sensitivity" type="t:SensitivityChoicesType" minOccurs="0" maxOccurs="1"/klzzwxh:12335klzzwxh:12380klzzwxh:12336xs:element name="WithinDateRange" type="t:RulePredicateDateRangeType" minOccurs="0" maxOccurs="1"/klzzwxh:12337klzzwxh:12381klzzwxh:12338xs:element name="WithinSizeRange" type="t:RulePredicateSizeRangeType" minOccurs="0" maxOccurs="1"/klzzwxh:12339klzzwxh:12382klzzwxh:12340/xs:sequenceklzzwxh:12341klzzwxh:12383klzzwxh:12342/xs:complexTypeklzzwxh:12343

    klzzwxh:12384xs:complexType name="RuleActionsType"klzzwxh:12385klzzwxh:12426klzzwxh:12386xs:annotationklzzwxh:12387klzzwxh:12427klzzwxh:12388xs:documentationklzzwxh:12389Rule actionsklzzwxh:12390/xs:documentationklzzwxh:12391klzzwxh:12428klzzwxh:12392/xs:annotationklzzwxh:12393klzzwxh:12429klzzwxh:12394xs:sequenceklzzwxh:12395klzzwxh:12430klzzwxh:12396xs:element name="AssignCategories" type="t:ArrayOfStringsType" minOccurs="0" maxOccurs="1"/klzzwxh:12397klzzwxh:12431klzzwxh:12398xs:element name="CopyToFolder" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/klzzwxh:12399klzzwxh:12432klzzwxh:12400xs:element name="Delete" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12401klzzwxh:12433klzzwxh:12402xs:element name="ForwardAsAttachmentToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12403klzzwxh:12434klzzwxh:12404xs:element name="ForwardToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12405klzzwxh:12435klzzwxh:12406xs:element name="MarkImportance" type="t:ImportanceChoicesType" minOccurs="0" maxOccurs="1"/klzzwxh:12407klzzwxh:12436klzzwxh:12408xs:element name="MarkAsRead" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12409klzzwxh:12437klzzwxh:12410xs:element name="MoveToFolder" type="t:TargetFolderIdType" minOccurs="0" maxOccurs="1"/klzzwxh:12411klzzwxh:12438klzzwxh:12412xs:element name="PermanentDelete" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12413klzzwxh:12439klzzwxh:12414xs:element name="RedirectToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12415klzzwxh:12440klzzwxh:12416xs:element name="SendSMSAlertToRecipients" type="t:ArrayOfEmailAddressesType" minOccurs="0" maxOccurs="1"/klzzwxh:12417klzzwxh:12441klzzwxh:12418xs:element name="ServerReplyWithMessage" type="t:ItemIdType" minOccurs="0" maxOccurs="1"/klzzwxh:12419klzzwxh:12442klzzwxh:12420xs:element name="StopProcessingRules" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12421klzzwxh:12443klzzwxh:12422/xs:sequenceklzzwxh:12423klzzwxh:12444klzzwxh:12424/xs:complexTypeklzzwxh:12425

    klzzwxh:12445xs:complexType name="RuleType"klzzwxh:12446klzzwxh:12479klzzwxh:12447xs:annotationklzzwxh:12448klzzwxh:12480klzzwxh:12449xs:documentationklzzwxh:12450Rule typeklzzwxh:12451/xs:documentationklzzwxh:12452klzzwxh:12481klzzwxh:12453/xs:annotationklzzwxh:12454klzzwxh:12482klzzwxh:12455xs:sequenceklzzwxh:12456klzzwxh:12483klzzwxh:12457xs:element name="RuleId" type="xs:string" minOccurs="0" maxOccurs="1"/klzzwxh:12458klzzwxh:12484klzzwxh:12459xs:element name="DisplayName" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:12460klzzwxh:12485klzzwxh:12461xs:element name="Priority" type="xs:int" minOccurs="1" maxOccurs="1"/klzzwxh:12462klzzwxh:12486klzzwxh:12463xs:element name="IsEnabled" type="xs:boolean" minOccurs="1" maxOccurs="1"/klzzwxh:12464klzzwxh:12487klzzwxh:12465xs:element name="IsNotSupported" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12466klzzwxh:12488klzzwxh:12467xs:element name="IsInError" type="xs:boolean" minOccurs="0" maxOccurs="1"/klzzwxh:12468klzzwxh:12489klzzwxh:12469xs:element name="Conditions" type="t:RulePredicatesType" minOccurs="0" maxOccurs="1"/klzzwxh:12470klzzwxh:12490klzzwxh:12471xs:element name="Exceptions" type="t:RulePredicatesType" minOccurs="0" maxOccurs="1"/klzzwxh:12472klzzwxh:12491klzzwxh:12473xs:element name="Actions" type="t:RuleActionsType" minOccurs="0" maxOccurs="1"/klzzwxh:12474klzzwxh:12492klzzwxh:12475/xs:sequenceklzzwxh:12476klzzwxh:12493klzzwxh:12477/xs:complexTypeklzzwxh:12478

    klzzwxh:12494xs:complexType name="ArrayOfRulesType"klzzwxh:12495klzzwxh:12708klzzwxh:12496xs:annotationklzzwxh:12497klzzwxh:12709klzzwxh:12498xs:documentationklzzwxh:12499Array of rule objectsklzzwxh:12500/xs:documentationklzzwxh:12501klzzwxh:12710klzzwxh:12502/xs:annotationklzzwxh:12503klzzwxh:12711klzzwxh:12504xs:sequenceklzzwxh:12505klzzwxh:12712klzzwxh:12506xs:element name="Rule" type="t:RuleType" minOccurs="0" maxOccurs="unbounded"/klzzwxh:12507klzzwxh:12713klzzwxh:12508/xs:sequenceklzzwxh:12509klzzwxh:12714klzzwxh:12510/xs:complexTypeklzzwxh:12511klzzwxh:12715klzzwxh:12512xs:simpleType name="RuleFieldURIType"klzzwxh:12513klzzwxh:12716klzzwxh:12514xs:annotationklzzwxh:12515klzzwxh:12717klzzwxh:12516xs:documentationklzzwxh:12517Rule field URI enumerates all possible rule fields that could trigger validation errorklzzwxh:12518/xs:documentationklzzwxh:12519klzzwxh:12718klzzwxh:12520/xs:annotationklzzwxh:12521klzzwxh:12719klzzwxh:12522xs:restriction base="xs:string"klzzwxh:12523klzzwxh:12720klzzwxh:12524xs:enumeration value="RuleId"/klzzwxh:12525klzzwxh:12721klzzwxh:12526xs:enumeration value="DisplayName"/klzzwxh:12527klzzwxh:12722klzzwxh:12528xs:enumeration value="Priority"/klzzwxh:12529klzzwxh:12723klzzwxh:12530xs:enumeration value="IsNotSupported"/klzzwxh:12531klzzwxh:12724klzzwxh:12532xs:enumeration value="Actions"/klzzwxh:12533klzzwxh:12725klzzwxh:12534xs:enumeration value="Condition:Categories"/klzzwxh:12535klzzwxh:12726klzzwxh:12536xs:enumeration value="Condition:ContainsBodyStrings"/klzzwxh:12537klzzwxh:12727klzzwxh:12538xs:enumeration value="Condition:ContainsHeaderStrings"/klzzwxh:12539klzzwxh:12728klzzwxh:12540xs:enumeration value="Condition:ContainsRecipientStrings"/klzzwxh:12541klzzwxh:12729klzzwxh:12542xs:enumeration value="Condition:ContainsSenderStrings"/klzzwxh:12543klzzwxh:12730klzzwxh:12544xs:enumeration value="Condition:ContainsSubjectOrBodyStrings"/klzzwxh:12545klzzwxh:12731klzzwxh:12546xs:enumeration value="Condition:ContainsSubjectStrings"/klzzwxh:12547klzzwxh:12732klzzwxh:12548xs:enumeration value="Condition:FlaggedForAction"/klzzwxh:12549klzzwxh:12733klzzwxh:12550xs:enumeration value="Condition:FromAddresses"/klzzwxh:12551klzzwxh:12734klzzwxh:12552xs:enumeration value="Condition:FromConnectedAccounts"/klzzwxh:12553klzzwxh:12735klzzwxh:12554xs:enumeration value="Condition:HasAttachments"/klzzwxh:12555klzzwxh:12736klzzwxh:12556xs:enumeration value="Condition:Importance"/klzzwxh:12557klzzwxh:12737klzzwxh:12558xs:enumeration value="Condition:IsApprovalRequest"/klzzwxh:12559klzzwxh:12738klzzwxh:12560xs:enumeration value="Condition:IsAutomaticForward"/klzzwxh:12561klzzwxh:12739klzzwxh:12562xs:enumeration value="Condition:IsAutomaticReply"/klzzwxh:12563klzzwxh:12740klzzwxh:12564xs:enumeration value="Condition:IsEncrypted"/klzzwxh:12565klzzwxh:12741klzzwxh:12566xs:enumeration value="Condition:IsMeetingRequest"/klzzwxh:12567klzzwxh:12742klzzwxh:12568xs:enumeration value="Condition:IsMeetingResponse"/klzzwxh:12569klzzwxh:12743klzzwxh:12570xs:enumeration value="Condition:IsNDR"/klzzwxh:12571klzzwxh:12744klzzwxh:12572xs:enumeration value="Condition:IsPermissionControlled"/klzzwxh:12573klzzwxh:12745klzzwxh:12574xs:enumeration value="Condition:IsReadReceipt"/klzzwxh:12575klzzwxh:12746klzzwxh:12576xs:enumeration value="Condition:IsSigned"/klzzwxh:12577klzzwxh:12747klzzwxh:12578xs:enumeration value="Condition:IsVoicemail"/klzzwxh:12579klzzwxh:12748klzzwxh:12580xs:enumeration value="Condition:ItemClasses"/klzzwxh:12581klzzwxh:12749klzzwxh:12582xs:enumeration value="Condition:MessageClassifications"/klzzwxh:12583klzzwxh:12750klzzwxh:12584xs:enumeration value="Condition:NotSentToMe"/klzzwxh:12585klzzwxh:12751klzzwxh:12586xs:enumeration value="Condition:SentCcMe"/klzzwxh:12587klzzwxh:12752klzzwxh:12588xs:enumeration value="Condition:SentOnlyToMe"/klzzwxh:12589klzzwxh:12753klzzwxh:12590xs:enumeration value="Condition:SentToAddresses"/klzzwxh:12591klzzwxh:12754klzzwxh:12592xs:enumeration value="Condition:SentToMe"/klzzwxh:12593klzzwxh:12755klzzwxh:12594xs:enumeration value="Condition:SentToOrCcMe"/klzzwxh:12595klzzwxh:12756klzzwxh:12596xs:enumeration value="Condition:Sensitivity"/klzzwxh:12597klzzwxh:12757klzzwxh:12598xs:enumeration value="Condition:WithinDateRange"/klzzwxh:12599klzzwxh:12758klzzwxh:12600xs:enumeration value="Condition:WithinSizeRange"/klzzwxh:12601klzzwxh:12759klzzwxh:12602xs:enumeration value="Exception:Categories"/klzzwxh:12603klzzwxh:12760klzzwxh:12604xs:enumeration value="Exception:ContainsBodyStrings"/klzzwxh:12605klzzwxh:12761klzzwxh:12606xs:enumeration value="Exception:ContainsHeaderStrings"/klzzwxh:12607klzzwxh:12762klzzwxh:12608xs:enumeration value="Exception:ContainsRecipientStrings"/klzzwxh:12609klzzwxh:12763klzzwxh:12610xs:enumeration value="Exception:ContainsSenderStrings"/klzzwxh:12611klzzwxh:12764klzzwxh:12612xs:enumeration value="Exception:ContainsSubjectOrBodyStrings"/klzzwxh:12613klzzwxh:12765klzzwxh:12614xs:enumeration value="Exception:ContainsSubjectStrings"/klzzwxh:12615klzzwxh:12766klzzwxh:12616xs:enumeration value="Exception:FlaggedForAction"/klzzwxh:12617klzzwxh:12767klzzwxh:12618xs:enumeration value="Exception:FromAddresses"/klzzwxh:12619klzzwxh:12768klzzwxh:12620xs:enumeration value="Exception:FromConnectedAccounts"/klzzwxh:12621klzzwxh:12769klzzwxh:12622xs:enumeration value="Exception:HasAttachments"/klzzwxh:12623klzzwxh:12770klzzwxh:12624xs:enumeration value="Exception:Importance"/klzzwxh:12625klzzwxh:12771klzzwxh:12626xs:enumeration value="Exception:IsApprovalRequest"/klzzwxh:12627klzzwxh:12772klzzwxh:12628xs:enumeration value="Exception:IsAutomaticForward"/klzzwxh:12629klzzwxh:12773klzzwxh:12630xs:enumeration value="Exception:IsAutomaticReply"/klzzwxh:12631klzzwxh:12774klzzwxh:12632xs:enumeration value="Exception:IsEncrypted"/klzzwxh:12633klzzwxh:12775klzzwxh:12634xs:enumeration value="Exception:IsMeetingRequest"/klzzwxh:12635klzzwxh:12776klzzwxh:12636xs:enumeration value="Exception:IsMeetingResponse"/klzzwxh:12637klzzwxh:12777klzzwxh:12638xs:enumeration value="Exception:IsNDR"/klzzwxh:12639klzzwxh:12778klzzwxh:12640xs:enumeration value="Exception:IsPermissionControlled"/klzzwxh:12641klzzwxh:12779klzzwxh:12642xs:enumeration value="Exception:IsReadReceipt"/klzzwxh:12643klzzwxh:12780klzzwxh:12644xs:enumeration value="Exception:IsSigned"/klzzwxh:12645klzzwxh:12781klzzwxh:12646xs:enumeration value="Exception:IsVoicemail"/klzzwxh:12647klzzwxh:12782klzzwxh:12648xs:enumeration value="Exception:ItemClasses"/klzzwxh:12649klzzwxh:12783klzzwxh:12650xs:enumeration value="Exception:MessageClassifications"/klzzwxh:12651klzzwxh:12784klzzwxh:12652xs:enumeration value="Exception:NotSentToMe"/klzzwxh:12653klzzwxh:12785klzzwxh:12654xs:enumeration value="Exception:SentCcMe"/klzzwxh:12655klzzwxh:12786klzzwxh:12656xs:enumeration value="Exception:SentOnlyToMe"/klzzwxh:12657klzzwxh:12787klzzwxh:12658xs:enumeration value="Exception:SentToAddresses"/klzzwxh:12659klzzwxh:12788klzzwxh:12660xs:enumeration value="Exception:SentToMe"/klzzwxh:12661klzzwxh:12789klzzwxh:12662xs:enumeration value="Exception:SentToOrCcMe"/klzzwxh:12663klzzwxh:12790klzzwxh:12664xs:enumeration value="Exception:Sensitivity"/klzzwxh:12665klzzwxh:12791klzzwxh:12666xs:enumeration value="Exception:WithinDateRange"/klzzwxh:12667klzzwxh:12792klzzwxh:12668xs:enumeration value="Exception:WithinSizeRange"/klzzwxh:12669klzzwxh:12793klzzwxh:12670xs:enumeration value="Action:AssignCategories"/klzzwxh:12671klzzwxh:12794klzzwxh:12672xs:enumeration value="Action:CopyToFolder"/klzzwxh:12673klzzwxh:12795klzzwxh:12674xs:enumeration value="Action:Delete"/klzzwxh:12675klzzwxh:12796klzzwxh:12676xs:enumeration value="Action:ForwardAsAttachmentToRecipients"/klzzwxh:12677klzzwxh:12797klzzwxh:12678xs:enumeration value="Action:ForwardToRecipients"/klzzwxh:12679klzzwxh:12798klzzwxh:12680xs:enumeration value="Action:MarkImportance"/klzzwxh:12681klzzwxh:12799klzzwxh:12682xs:enumeration value="Action:MarkAsRead"/klzzwxh:12683klzzwxh:12800klzzwxh:12684xs:enumeration value="Action:MoveToFolder"/klzzwxh:12685klzzwxh:12801klzzwxh:12686xs:enumeration value="Action:PermanentDelete"/klzzwxh:12687klzzwxh:12802klzzwxh:12688xs:enumeration value="Action:RedirectToRecipients"/klzzwxh:12689klzzwxh:12803klzzwxh:12690xs:enumeration value="Action:SendSMSAlertToRecipients"/klzzwxh:12691klzzwxh:12804klzzwxh:12692xs:enumeration value="Action:ServerReplyWithMessage"/klzzwxh:12693klzzwxh:12805klzzwxh:12694xs:enumeration value="Action:StopProcessingRules"/klzzwxh:12695klzzwxh:12806klzzwxh:12696xs:enumeration value="IsEnabled"/klzzwxh:12697klzzwxh:12807klzzwxh:12698xs:enumeration value="IsInError"/klzzwxh:12699klzzwxh:12808klzzwxh:12700xs:enumeration value="Conditions"/klzzwxh:12701klzzwxh:12809klzzwxh:12702xs:enumeration value="Exceptions"/klzzwxh:12703klzzwxh:12810klzzwxh:12704/xs:restrictionklzzwxh:12705klzzwxh:12811klzzwxh:12706/xs:simpleTypeklzzwxh:12707

    klzzwxh:12812xs:simpleType name="RuleValidationErrorCodeType"klzzwxh:12813klzzwxh:12876klzzwxh:12814xs:annotationklzzwxh:12815klzzwxh:12877klzzwxh:12816xs:documentationklzzwxh:12817Rule validation error code describing what failed validation for each rule predicate or action.klzzwxh:12818/xs:documentationklzzwxh:12819klzzwxh:12878klzzwxh:12820/xs:annotationklzzwxh:12821klzzwxh:12879klzzwxh:12822xs:restriction base="xs:string"klzzwxh:12823klzzwxh:12880klzzwxh:12824xs:enumeration value="ADOperationFailure"/klzzwxh:12825klzzwxh:12881klzzwxh:12826xs:enumeration value="ConnectedAccountNotFound"/klzzwxh:12827klzzwxh:12882klzzwxh:12828xs:enumeration value="CreateWithRuleId"/klzzwxh:12829klzzwxh:12883klzzwxh:12830xs:enumeration value="EmptyValueFound"/klzzwxh:12831klzzwxh:12884klzzwxh:12832xs:enumeration value="DuplicatedPriority"/klzzwxh:12833klzzwxh:12885klzzwxh:12834xs:enumeration value="DuplicatedOperationOnTheSameRule"/klzzwxh:12835klzzwxh:12886klzzwxh:12836xs:enumeration value="FolderDoesNotExist"/klzzwxh:12837klzzwxh:12887klzzwxh:12838xs:enumeration value="InvalidAddress"/klzzwxh:12839klzzwxh:12888klzzwxh:12840xs:enumeration value="InvalidDateRange"/klzzwxh:12841klzzwxh:12889klzzwxh:12842xs:enumeration value="InvalidFolderId"/klzzwxh:12843klzzwxh:12890klzzwxh:12844xs:enumeration value="InvalidSizeRange"/klzzwxh:12845klzzwxh:12891klzzwxh:12846xs:enumeration value="InvalidValue"/klzzwxh:12847klzzwxh:12892klzzwxh:12848xs:enumeration value="MessageClassificationNotFound"/klzzwxh:12849klzzwxh:12893klzzwxh:12850xs:enumeration value="MissingAction"/klzzwxh:12851klzzwxh:12894klzzwxh:12852xs:enumeration value="MissingParameter"/klzzwxh:12853klzzwxh:12895klzzwxh:12854xs:enumeration value="MissingRangeValue"/klzzwxh:12855klzzwxh:12896klzzwxh:12856xs:enumeration value="NotSettable"/klzzwxh:12857klzzwxh:12897klzzwxh:12858xs:enumeration value="RecipientDoesNotExist"/klzzwxh:12859klzzwxh:12898klzzwxh:12860xs:enumeration value="RuleNotFound"/klzzwxh:12861klzzwxh:12899klzzwxh:12862xs:enumeration value="SizeLessThanZero"/klzzwxh:12863klzzwxh:12900klzzwxh:12864xs:enumeration value="StringValueTooBig"/klzzwxh:12865klzzwxh:12901klzzwxh:12866xs:enumeration value="UnsupportedAddress"/klzzwxh:12867klzzwxh:12902klzzwxh:12868xs:enumeration value="UnexpectedError"/klzzwxh:12869klzzwxh:12903klzzwxh:12870xs:enumeration value="UnsupportedRule"/klzzwxh:12871klzzwxh:12904klzzwxh:12872/xs:restrictionklzzwxh:12873klzzwxh:12905klzzwxh:12874/xs:simpleTypeklzzwxh:12875

    klzzwxh:12906xs:complexType name="RuleValidationErrorType"klzzwxh:12907klzzwxh:12930klzzwxh:12908xs:annotationklzzwxh:12909klzzwxh:12931klzzwxh:12910xs:documentationklzzwxh:12911Represents a single validation error on a particular rule property value, predicate property value or action property valueklzzwxh:12912/xs:documentationklzzwxh:12913klzzwxh:12932klzzwxh:12914/xs:annotationklzzwxh:12915klzzwxh:12933klzzwxh:12916xs:sequenceklzzwxh:12917klzzwxh:12934klzzwxh:12918xs:element name="FieldURI" type="t:RuleFieldURIType" minOccurs="1" maxOccurs="1"/klzzwxh:12919klzzwxh:12935klzzwxh:12920xs:element name="ErrorCode" type="t:RuleValidationErrorCodeType" minOccurs="1" maxOccurs="1"/klzzwxh:12921klzzwxh:12936klzzwxh:12922xs:element name="ErrorMessage" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:12923klzzwxh:12937klzzwxh:12924xs:element name="FieldValue" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:12925klzzwxh:12938klzzwxh:12926/xs:sequenceklzzwxh:12927klzzwxh:12939klzzwxh:12928/xs:complexTypeklzzwxh:12929

    klzzwxh:12940xs:complexType name="ArrayOfRuleValidationErrorsType"klzzwxh:12941klzzwxh:12958klzzwxh:12942xs:annotationklzzwxh:12943klzzwxh:12959klzzwxh:12944xs:documentationklzzwxh:12945Represents an array of rule validation errorsklzzwxh:12946/xs:documentationklzzwxh:12947klzzwxh:12960klzzwxh:12948/xs:annotationklzzwxh:12949klzzwxh:12961klzzwxh:12950xs:sequenceklzzwxh:12951klzzwxh:12962klzzwxh:12952xs:element name="Error" type="t:RuleValidationErrorType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:12953klzzwxh:12963klzzwxh:12954/xs:sequenceklzzwxh:12955klzzwxh:12964klzzwxh:12956/xs:complexTypeklzzwxh:12957

    klzzwxh:12965xs:complexType name="RuleOperationType" abstract="true"klzzwxh:12966klzzwxh:12977klzzwxh:12967xs:annotationklzzwxh:12968klzzwxh:12978klzzwxh:12969xs:documentationklzzwxh:12970Represents a rule operation to be performedklzzwxh:12971/xs:documentationklzzwxh:12972klzzwxh:12979klzzwxh:12973/xs:annotationklzzwxh:12974klzzwxh:12980klzzwxh:12975/xs:complexTypeklzzwxh:12976

    klzzwxh:12981xs:complexType name="ArrayOfRuleOperationsType"klzzwxh:12982klzzwxh:13003klzzwxh:12983xs:annotationklzzwxh:12984klzzwxh:13004klzzwxh:12985xs:documentationklzzwxh:12986Represents an array of rule operations to be performedklzzwxh:12987/xs:documentationklzzwxh:12988klzzwxh:13005klzzwxh:12989/xs:annotationklzzwxh:12990klzzwxh:13006klzzwxh:12991xs:choice minOccurs="1" maxOccurs="unbounded"klzzwxh:12992klzzwxh:13007klzzwxh:12993xs:element name="CreateRuleOperation" type="t:CreateRuleOperationType"/klzzwxh:12994klzzwxh:13008klzzwxh:12995xs:element name="SetRuleOperation" type="t:SetRuleOperationType"/klzzwxh:12996klzzwxh:13009klzzwxh:12997xs:element name="DeleteRuleOperation" type="t:DeleteRuleOperationType"/klzzwxh:12998klzzwxh:13010klzzwxh:12999/xs:choiceklzzwxh:13000klzzwxh:13011klzzwxh:13001/xs:complexTypeklzzwxh:13002

    klzzwxh:13012xs:complexType name="CreateRuleOperationType"klzzwxh:13013klzzwxh:13030klzzwxh:13014xs:complexContentklzzwxh:13015klzzwxh:13031klzzwxh:13016xs:extension base="t:RuleOperationType"klzzwxh:13017klzzwxh:13032klzzwxh:13018xs:sequenceklzzwxh:13019klzzwxh:13033klzzwxh:13020xs:element name="Rule" type="t:RuleType" minOccurs="1" maxOccurs="1"/klzzwxh:13021klzzwxh:13034klzzwxh:13022/xs:sequenceklzzwxh:13023klzzwxh:13035klzzwxh:13024/xs:extensionklzzwxh:13025klzzwxh:13036klzzwxh:13026/xs:complexContentklzzwxh:13027klzzwxh:13037klzzwxh:13028/xs:complexTypeklzzwxh:13029

    klzzwxh:13038xs:complexType name="SetRuleOperationType"klzzwxh:13039klzzwxh:13056klzzwxh:13040xs:complexContentklzzwxh:13041klzzwxh:13057klzzwxh:13042xs:extension base="t:RuleOperationType"klzzwxh:13043klzzwxh:13058klzzwxh:13044xs:sequenceklzzwxh:13045klzzwxh:13059klzzwxh:13046xs:element name="Rule" type="t:RuleType" minOccurs="1" maxOccurs="1"/klzzwxh:13047klzzwxh:13060klzzwxh:13048/xs:sequenceklzzwxh:13049klzzwxh:13061klzzwxh:13050/xs:extensionklzzwxh:13051klzzwxh:13062klzzwxh:13052/xs:complexContentklzzwxh:13053klzzwxh:13063klzzwxh:13054/xs:complexTypeklzzwxh:13055

    klzzwxh:13064xs:complexType name="DeleteRuleOperationType"klzzwxh:13065klzzwxh:13082klzzwxh:13066xs:complexContentklzzwxh:13067klzzwxh:13083klzzwxh:13068xs:extension base="t:RuleOperationType"klzzwxh:13069klzzwxh:13084klzzwxh:13070xs:sequenceklzzwxh:13071klzzwxh:13085klzzwxh:13072xs:element name="RuleId" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:13073klzzwxh:13086klzzwxh:13074/xs:sequenceklzzwxh:13075klzzwxh:13087klzzwxh:13076/xs:extensionklzzwxh:13077klzzwxh:13088klzzwxh:13078/xs:complexContentklzzwxh:13079klzzwxh:13089klzzwxh:13080/xs:complexTypeklzzwxh:13081

    klzzwxh:13090xs:complexType name="RuleOperationErrorType"klzzwxh:13091klzzwxh:13102klzzwxh:13092xs:sequenceklzzwxh:13093klzzwxh:13103klzzwxh:13094xs:element name="OperationIndex" type="xs:int" minOccurs="1" maxOccurs="1"/klzzwxh:13095klzzwxh:13104klzzwxh:13096xs:element name="ValidationErrors" type="t:ArrayOfRuleValidationErrorsType" minOccurs="1" maxOccurs="1"/klzzwxh:13097klzzwxh:13105klzzwxh:13098/xs:sequenceklzzwxh:13099klzzwxh:13106klzzwxh:13100/xs:complexTypeklzzwxh:13101

    klzzwxh:13107xs:complexType name="ArrayOfRuleOperationErrorsType"klzzwxh:13108klzzwxh:13117klzzwxh:13109xs:sequenceklzzwxh:13110klzzwxh:13118klzzwxh:13111xs:element name="RuleOperationError" type="t:RuleOperationErrorType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:13112klzzwxh:13119klzzwxh:13113/xs:sequenceklzzwxh:13114klzzwxh:13120klzzwxh:13115/xs:complexTypeklzzwxh:13116

    klzzwxh:13122klzzwxh:13121-- Begin of mailbox statistics search related types section --klzzwxh:13123

    klzzwxh:13124xs:simpleType name="SearchItemKindType"klzzwxh:13125klzzwxh:13156klzzwxh:13126xs:restriction base="xs:string"klzzwxh:13127klzzwxh:13157klzzwxh:13128xs:enumeration value="Email"/klzzwxh:13129klzzwxh:13158klzzwxh:13130xs:enumeration value="Meetings"/klzzwxh:13131klzzwxh:13159klzzwxh:13132xs:enumeration value="Tasks"/klzzwxh:13133klzzwxh:13160klzzwxh:13134xs:enumeration value="Notes"/klzzwxh:13135klzzwxh:13161klzzwxh:13136xs:enumeration value="Docs"/klzzwxh:13137klzzwxh:13162klzzwxh:13138xs:enumeration value="Journals"/klzzwxh:13139klzzwxh:13163klzzwxh:13140xs:enumeration value="Contacts"/klzzwxh:13141klzzwxh:13164klzzwxh:13142xs:enumeration value="Im"/klzzwxh:13143klzzwxh:13165klzzwxh:13144xs:enumeration value="Voicemail"/klzzwxh:13145klzzwxh:13166klzzwxh:13146xs:enumeration value="Faxes"/klzzwxh:13147klzzwxh:13167klzzwxh:13148xs:enumeration value="Posts"/klzzwxh:13149klzzwxh:13168klzzwxh:13150xs:enumeration value="Rssfeeds"/klzzwxh:13151klzzwxh:13169klzzwxh:13152/xs:restrictionklzzwxh:13153klzzwxh:13170klzzwxh:13154/xs:simpleTypeklzzwxh:13155

    klzzwxh:13171xs:complexType name="ArrayOfSearchItemKindsType"klzzwxh:13172klzzwxh:13189klzzwxh:13173xs:annotationklzzwxh:13174klzzwxh:13190klzzwxh:13175xs:documentationklzzwxh:13176klzzwxh:13191Array of search item kind enum.klzzwxh:13192klzzwxh:13177/xs:documentationklzzwxh:13178klzzwxh:13193klzzwxh:13179/xs:annotationklzzwxh:13180klzzwxh:13194klzzwxh:13181xs:sequenceklzzwxh:13182klzzwxh:13195klzzwxh:13183xs:element name="SearchItemKind" type="t:SearchItemKindType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:13184klzzwxh:13196klzzwxh:13185/xs:sequenceklzzwxh:13186klzzwxh:13197klzzwxh:13187/xs:complexTypeklzzwxh:13188

    klzzwxh:13198xs:complexType name="UserMailboxType"klzzwxh:13199klzzwxh:13214klzzwxh:13200xs:annotationklzzwxh:13201klzzwxh:13215klzzwxh:13202xs:documentationklzzwxh:13203klzzwxh:13216User Mailbox.klzzwxh:13217klzzwxh:13204/xs:documentationklzzwxh:13205klzzwxh:13218klzzwxh:13206/xs:annotationklzzwxh:13207klzzwxh:13219klzzwxh:13208xs:attribute name="Id" type="xs:string" use="required"/klzzwxh:13209klzzwxh:13220klzzwxh:13210xs:attribute name="IsArchive" type="xs:boolean" use="required"/klzzwxh:13211klzzwxh:13221klzzwxh:13212/xs:complexTypeklzzwxh:13213

    klzzwxh:13222xs:complexType name="ArrayOfUserMailboxesType"klzzwxh:13223klzzwxh:13240klzzwxh:13224xs:annotationklzzwxh:13225klzzwxh:13241klzzwxh:13226xs:documentationklzzwxh:13227klzzwxh:13242Array of user mailbox.klzzwxh:13243klzzwxh:13228/xs:documentationklzzwxh:13229klzzwxh:13244klzzwxh:13230/xs:annotationklzzwxh:13231klzzwxh:13245klzzwxh:13232xs:sequenceklzzwxh:13233klzzwxh:13246klzzwxh:13234xs:element name="UserMailbox" type="t:UserMailboxType" minOccurs="1" maxOccurs="unbounded"/klzzwxh:13235klzzwxh:13247klzzwxh:13236/xs:sequenceklzzwxh:13237klzzwxh:13248klzzwxh:13238/xs:complexTypeklzzwxh:13239

    klzzwxh:13249xs:complexType name="KeywordStatisticsSearchResultType"klzzwxh:13250klzzwxh:13271klzzwxh:13251xs:annotationklzzwxh:13252klzzwxh:13272klzzwxh:13253xs:documentationklzzwxh:13254klzzwxh:13273Keyword statistics search result.klzzwxh:13274klzzwxh:13255/xs:documentationklzzwxh:13256klzzwxh:13275klzzwxh:13257/xs:annotationklzzwxh:13258klzzwxh:13276klzzwxh:13259xs:sequenceklzzwxh:13260klzzwxh:13277klzzwxh:13261xs:element name="Keyword" type="xs:string" minOccurs="1" maxOccurs="1"/klzzwxh:13262klzzwxh:13278klzzwxh:13263xs:element name="ItemHits" type="xs:int" minOccurs="1" maxOccurs="1"/klzzwxh:13264klzzwxh:13279klzzwxh:13265xs:element name="Size" type="xs:long" minOccurs="1" maxOccurs="1"/klzzwxh:13266klzzwxh:13280klzzwxh:13267/xs:sequenceklzzwxh:13268klzzwxh:13281klzzwxh:13269/xs:complexTypeklzzwxh:13270

    klzzwxh:13282xs:complexType name="MailboxStatisticsSearchResultType"klzzwxh:13283klzzwxh:13302klzzwxh:13284xs:annotationklzzwxh:13285klzzwxh:13303klzzwxh:13286xs:documentationklzzwxh:13287klzzwxh:13304Mailbox statistics search result.klzzwxh:13305klzzwxh:13288/xs:documentationklzzwxh:13289klzzwxh:13306klzzwxh:13290/xs:annotationklzzwxh:13291klzzwxh:13307klzzwxh:13292xs:sequenceklzzwxh:13293klzzwxh:13308klzzwxh:13294xs:element name="UserMailbox" type="t:UserMailboxType" minOccurs="1" maxOccurs="1"/klzzwxh:13295klzzwxh:13309klzzwxh:13296xs:element name="KeywordStatisticsSearchResult" type="t:KeywordStatisticsSearchResultType" minOccurs="0" maxOccurs="1"/klzzwxh:13297klzzwxh:13310klzzwxh:13298/xs:sequenceklzzwxh:13299klzzwxh:13311klzzwxh:13300/xs:complexTypeklzzwxh:13301

    klzzwxh:13313klzzwxh:13312-- End of mailbox statistics search related types section --klzzwxh:13314

    klzzwxh:13315/xs:schemaklzzwxh:13316

     
  • Mickael Guessant

    That's it: new EWS version is Exchange2010_SP1

    => patched EWSMethod to support this, can you please check this ?

     
  • Anonymous

    Anonymous - 2011-11-04

    It works!

    Too many folders are shown, including system folders, for example: /Recoverable items, /Spooler queue, /System, /Transport queue...
    Perhaps you should replace ArchiveRoot with ArchiveMsgFolderRoot

    Would it be possible to map imap base folder you told me: /archive under imap root so adding a new account wouldn't be necessary?
    Latest Thunderbirds have an Archive feature which maps to a folder named /Archives

    Thanks

     
  • Mickael Guessant

    Ok, switched to archivemsgfolderroot

     
  • Mickael Guessant

    • status: open --> pending
     
  • Anonymous

    Anonymous - 2011-11-28

    System folders are gone.
    A small issue: a slash is prepended to all folders inside archive account, all folders are shown like this /Test

     
  • Mickael Guessant

    Can youtry to set /archive/ as base path instead of /archive ?

     
  • Anonymous

    Anonymous - 2011-11-30

    Nothing changes setting /archive/

    imap://user%40example.com@davmail.example.com//Test

     
  • Mickael Guessant

    Ok, will need a davmail.log file to fix this

     
  • Anonymous

    Anonymous - 2011-12-07

    Is this piece of log enough?

    2011-12-07 12:20:54,558 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Bozze"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Note"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta eliminata"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasChildren) "/" "/archive//Posta in arrivo"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2004"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2005"
    2011-12-07 12:20:54,559 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2006"
    2011-12-07 12:20:54,560 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2007"
    2011-12-07 12:20:54,560 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2008"
    2011-12-07 12:20:54,560 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/2009"
    2011-12-07 12:20:54,560 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta in arrivo/Backup"
    2011-12-07 12:20:54,561 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Posta inviata"
    2011-12-07 12:20:54,561 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasNoChildren) "/" "/archive//Test"
    2011-12-07 12:20:54,561 DEBUG [ImapConnection-56318] davmail - > * lsub (\HasChildren) "/" "/archive/"
    2011-12-07 12:20:54,561 DEBUG [ImapConnection-56318] davmail - > 2 OK lsub completed

     
  • Mickael Guessant

    Fix available in subversion :-)

     
  • Anonymous

    Anonymous - 2011-12-09

    Tested. Problem solved! Thanks

    Would it be possible to avoid secondary account for archive?

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.