[Bedework-commit] bwxml r2 - in trunk: . exchangews exchangews/wsdlbindings exsynchws/gensrc timezones/gensrc

svnadmin at bedework.org svnadmin at bedework.org
Thu Feb 17 22:41:21 EST 2011


Author: douglm
Date: 2011-02-17 22:41:14 -0500 (Thu, 17 Feb 2011)
New Revision: 2

Added:
   trunk/.classpath
   trunk/.project
   trunk/exchangews/
   trunk/exchangews/Services.wsdl
   trunk/exchangews/gensrc/
   trunk/exchangews/messages.xsd
   trunk/exchangews/types.xsd
   trunk/exchangews/wsdlbindings/
   trunk/exchangews/wsdlbindings/custom-binding.xml
   trunk/exchangews/wsdlbindings/simplebinding.xml
Modified:
   trunk/
   trunk/exsynchws/gensrc/
   trunk/timezones/gensrc/
Log:
Add schemas for Exchange Web Services


Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
   + dist
lib


Added: trunk/.classpath
===================================================================
--- trunk/.classpath	                        (rev 0)
+++ trunk/.classpath	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="exsynchws/gensrc/src"/>
+	<classpathentry excluding="ietf/params/xml/ns/icalendar_2/" kind="src" path="timezones/gensrc/src"/>
+	<classpathentry kind="lib" path="dist/bw-exsynchwsschema-3.7.jar"/>
+	<classpathentry kind="lib" path="dist/bw-tzschema-3.7.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxb-impl-2.1.8.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxb-xjc-2.1.7.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxws-rt-2.1.4.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/jaxws-tools-2.1.4.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/stax-ex-2.2.1.jar"/>
+	<classpathentry kind="lib" path="dist/temp/wsimportlib/streambuffer-1.0.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/jaxb-impl-2.1.8.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/jaxb-xjc-2.1.7.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/jaxws-rt-2.1.4.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/jaxws-tools-2.1.4.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/stax-ex-2.2.1.jar"/>
+	<classpathentry kind="lib" path="dist/temp/xjclib/streambuffer-1.0.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="dist/temp/wsclasses/bwxml"/>
+</classpath>

Added: trunk/.project
===================================================================
--- trunk/.project	                        (rev 0)
+++ trunk/.project	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>bwxml</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+	<linkedResources>
+		<link>
+			<name>dist/temp/wsclasses/bwxml</name>
+			<type>2</type>
+			<location>/home/douglm/eclipse-build/bwxml</location>
+		</link>
+	</linkedResources>
+</projectDescription>

Added: trunk/exchangews/Services.wsdl
===================================================================
--- trunk/exchangews/Services.wsdl	                        (rev 0)
+++ trunk/exchangews/Services.wsdl	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,787 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:types>
+    <s:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+      <xs:import schemaLocation="messages.xsd" namespace="http://schemas.microsoft.com/exchange/services/2006/messages" />
+    </s:schema>
+  </wsdl:types>
+  <wsdl:message name="GetFolderSoapIn">
+    <wsdl:part name="request" element="tns:GetFolder" />
+    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation" />
+    <wsdl:part name="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="UpdateFolderSoapIn">
+    <wsdl:part name="request" element="tns:UpdateFolder" />
+    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation" />
+    <wsdl:part name="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="FindItemSoapIn">
+    <wsdl:part name="request" element="tns:FindItem" />
+    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation" />
+    <wsdl:part name="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+    <wsdl:part name="MailboxCulture" element="t:MailboxCulture" />
+  </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="SyncFolderHierarchySoapIn">
+    <wsdl:part name="request" element="tns:SyncFolderHierarchy" />
+    <wsdl:part name="Impersonation" element="t:ExchangeImpersonation" />
+    <wsdl:part name="S2SAuth" element="t:SerializedSecurityContext" />
+  </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="S2SAuth" element="t:SerializedSecurityContext" />
+  </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="GetUserAvailabilitySoapIn">
+    <wsdl:part name="GetUserAvailabilityRequest" element="tns:GetUserAvailabilityRequest" />
+    <wsdl:part name="SerializedSecurityContext" element="t:SerializedSecurityContext" />
+    <wsdl:part name="ProxyRequestTypeHeader" element="t:ProxyRequestTypeHeader" />
+  </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: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:message>
+  <wsdl:message name="SetUserOofSettingsSoapOut">
+    <wsdl:part name="SetUserOofSettingsResult" element="tns:SetUserOofSettingsResponse" />
+    <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="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="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="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="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="GetUserAvailability">
+      <wsdl:input message="tns:GetUserAvailabilitySoapIn" />
+      <wsdl:output message="tns:GetUserAvailabilitySoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="GetUserOofSettings">
+      <wsdl:input message="tns:GetUserOofSettingsSoapIn" />
+      <wsdl:output message="tns:GetUserOofSettingsSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="SetUserOofSettings">
+      <wsdl:input message="tns:SetUserOofSettingsSoapIn" />
+      <wsdl:output message="tns:SetUserOofSettingsSoapOut" />
+    </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" />
+    <wsdl:operation name="ResolveNames">
+      <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/ResolveNames" />
+      <wsdl:input>
+        <soap:body use="literal" parts="request" />
+        <soap:header message="tns:ResolveNamesSoapIn" part="Impersonation" use="literal" />
+        <soap:header message="tns:ResolveNamesSoapIn" part="S2SAuth" use="literal" />
+        <soap:header message="tns:ResolveNamesSoapIn" part="MailboxCulture" use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="ResolveNamesResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:ExpandDLSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="ExpandDLResult" />
+        <soap:header message="tns:ExpandDLSoapOut" 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="S2SAuth" use="literal" />
+        <soap:header message="tns:FindFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="FindFolderResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:FindItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="FindItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:GetFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetFolderResult" />
+        <soap:header message="tns:GetFolderSoapOut" 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="S2SAuth" use="literal" />
+        <soap:header message="tns:CreateFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CreateFolderResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:DeleteFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="DeleteFolderResult" />
+        <soap:header message="tns:DeleteFolderSoapOut" 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="S2SAuth" use="literal" />
+        <soap:header message="tns:UpdateFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="UpdateFolderResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:MoveFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="MoveFolderResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:CopyFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CopyFolderResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:SubscribeSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="SubscribeResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:UnsubscribeSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="UnsubscribeResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:GetEventsSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetEventsResult" />
+        <soap:header message="tns:GetEventsSoapOut" 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="S2SAuth" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="SyncFolderHierarchyResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="SyncFolderItemsResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:GetItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:CreateItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CreateItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:DeleteItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="DeleteItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:UpdateItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="UpdateItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:SendItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="SendItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:MoveItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="MoveItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:CopyItemSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CopyItemResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:CreateAttachmentSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CreateAttachmentResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:DeleteAttachmentSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="DeleteAttachmentResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:GetAttachmentSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetAttachmentResult" />
+        <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="S2SAuth" use="literal" />
+        <soap:header message="tns:CreateManagedFolderSoapIn" part="MailboxCulture" use="literal" />
+        <soap:body use="literal" parts="request" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="CreateManagedFolderResult" />
+        <soap:header message="tns:CreateManagedFolderSoapOut" part="ServerVersion" use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetUserAvailability">
+      <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetUserAvailability" />
+      <wsdl:input>
+        <soap:body use="literal" parts="GetUserAvailabilityRequest" />
+        <soap:header message="tns:GetUserAvailabilitySoapIn" part="SerializedSecurityContext" use="literal" />
+        <soap:header message="tns:GetUserAvailabilitySoapIn" part="ProxyRequestTypeHeader" use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetUserAvailabilityResult" />
+        <soap:header message="tns:GetUserAvailabilitySoapOut" part="ServerVersion" use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetUserOofSettings">
+      <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetUserOofSettings" />
+      <wsdl:input>
+        <soap:body use="literal" parts="GetUserOofSettingsRequest" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="GetUserOofSettingsResult" />
+        <soap:header message="tns:GetUserOofSettingsSoapOut" part="ServerVersion" use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetUserOofSettings">
+      <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SetUserOofSettings" />
+      <wsdl:input>
+        <soap:body use="literal" parts="SetUserOofSettingsRequest" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" parts="SetUserOofSettingsResult" />
+        <soap:header message="tns:SetUserOofSettingsSoapOut" part="ServerVersion" use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+
+  <wsdl:service name="ExchangeWebService">
+    <wsdl:port name="ExchangeWebPort" binding="tns:ExchangeServiceBinding">
+       <soap:address location="https://tootles-fe1.neverland.rpi.edu/owa"></soap:address>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>

Added: trunk/exchangews/messages.xsd
===================================================================
--- trunk/exchangews/messages.xsd	                        (rev 0)
+++ trunk/exchangews/messages.xsd	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,1015 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/messages" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/messages" id="messages" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="types.xsd" namespace="http://schemas.microsoft.com/exchange/services/2006/types" />
+  <xs:simpleType name="ResponseCodeType">
+    <xs:annotation>
+      <xs:documentation>
+		Represents the message keys that can be returned by response error messages
+	  </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="NoError" />
+      <xs:enumeration value="ErrorAccessDenied" />
+      <xs:enumeration value="ErrorAccountDisabled" />
+      <xs:enumeration value="ErrorAddressSpaceNotFound" />
+      <xs:enumeration value="ErrorADOperation" />
+      <xs:enumeration value="ErrorADSessionFilter" />
+      <xs:enumeration value="ErrorADUnavailable" />
+      <xs:enumeration value="ErrorAutoDiscoverFailed" />
+      <xs:enumeration value="ErrorAffectedTaskOccurrencesRequired" />
+      <xs:enumeration value="ErrorAttachmentSizeLimitExceeded" />
+      <xs:enumeration value="ErrorAvailabilityConfigNotFound" />
+      <xs:enumeration value="ErrorBatchProcessingStopped" />
+      <xs:enumeration value="ErrorCalendarCannotMoveOrCopyOccurrence" />
+      <xs:enumeration value="ErrorCalendarCannotUpdateDeletedItem" />
+      <xs:enumeration value="ErrorCalendarCannotUseIdForOccurrenceId" />
+      <xs:enumeration value="ErrorCalendarCannotUseIdForRecurringMasterId" />
+      <xs:enumeration value="ErrorCalendarDurationIsTooLong" />
+      <xs:enumeration value="ErrorCalendarEndDateIsEarlierThanStartDate" />
+      <xs:enumeration value="ErrorCalendarFolderIsInvalidForCalendarView" />
+      <xs:enumeration value="ErrorCalendarInvalidAttributeValue" />
+      <xs:enumeration value="ErrorCalendarInvalidDayForTimeChangePattern" />
+      <xs:enumeration value="ErrorCalendarInvalidDayForWeeklyRecurrence" />
+      <xs:enumeration value="ErrorCalendarInvalidPropertyState" />
+      <xs:enumeration value="ErrorCalendarInvalidPropertyValue" />
+      <xs:enumeration value="ErrorCalendarInvalidRecurrence" />
+      <xs:enumeration value="ErrorCalendarInvalidTimeZone" />
+      <xs:enumeration value="ErrorCalendarIsDelegatedForAccept" />
+      <xs:enumeration value="ErrorCalendarIsDelegatedForDecline" />
+      <xs:enumeration value="ErrorCalendarIsDelegatedForRemove" />
+      <xs:enumeration value="ErrorCalendarIsDelegatedForTentative" />
+      <xs:enumeration value="ErrorCalendarIsNotOrganizer" />
+      <xs:enumeration value="ErrorCalendarIsOrganizerForAccept" />
+      <xs:enumeration value="ErrorCalendarIsOrganizerForDecline" />
+      <xs:enumeration value="ErrorCalendarIsOrganizerForRemove" />
+      <xs:enumeration value="ErrorCalendarIsOrganizerForTentative" />
+      <xs:enumeration value="ErrorCalendarOccurrenceIndexIsOutOfRecurrenceRange" />
+      <xs:enumeration value="ErrorCalendarOccurrenceIsDeletedFromRecurrence" />
+      <xs:enumeration value="ErrorCalendarOutOfRange" />
+      <xs:enumeration value="ErrorCalendarViewRangeTooBig" />
+      <xs:enumeration value="ErrorCannotCreateCalendarItemInNonCalendarFolder" />
+      <xs:enumeration value="ErrorCannotCreateContactInNonContactFolder" />
+      <xs:enumeration value="ErrorCannotCreateTaskInNonTaskFolder" />
+      <xs:enumeration value="ErrorCannotDeleteObject" />
+      <xs:enumeration value="ErrorCannotOpenFileAttachment" />
+      <xs:enumeration value="ErrorCannotDeleteTaskOccurrence" />
+      <xs:enumeration value="ErrorCannotUseFolderIdForItemId" />
+      <xs:enumeration value="ErrorCannotUseItemIdForFolderId" />
+      <xs:enumeration value="ErrorChangeKeyRequired" />
+      <xs:enumeration value="ErrorChangeKeyRequiredForWriteOperations" />
+      <xs:enumeration value="ErrorConnectionFailed" />
+      <xs:enumeration value="ErrorContentConversionFailed" />
+      <xs:enumeration value="ErrorCorruptData" />
+      <xs:enumeration value="ErrorCreateItemAccessDenied" />
+      <xs:enumeration value="ErrorCreateManagedFolderPartialCompletion" />
+      <xs:enumeration value="ErrorCreateSubfolderAccessDenied" />
+      <xs:enumeration value="ErrorCrossMailboxMoveCopy" />
+      <xs:enumeration value="ErrorDataSizeLimitExceeded" />
+      <xs:enumeration value="ErrorDataSourceOperation" />
+      <xs:enumeration value="ErrorDeleteDistinguishedFolder" />
+      <xs:enumeration value="ErrorDeleteItemsFailed" />
+      <xs:enumeration value="ErrorDuplicateInputFolderNames" />
+      <xs:enumeration value="ErrorEmailAddressMismatch" />
+      <xs:enumeration value="ErrorEventNotFound" />
+      <xs:enumeration value="ErrorExpiredSubscription" />
+      <xs:enumeration value="ErrorFolderCorrupt" />
+      <xs:enumeration value="ErrorFolderNotFound" />
+      <xs:enumeration value="ErrorFolderPropertRequestFailed" />
+      <xs:enumeration value="ErrorFolderSave" />
+      <xs:enumeration value="ErrorFolderSaveFailed" />
+      <xs:enumeration value="ErrorFolderSavePropertyError" />
+      <xs:enumeration value="ErrorFolderExists" />
+      <xs:enumeration value="ErrorFreeBusyGenerationFailed" />
+      <xs:enumeration value="ErrorGetServerSecurityDescriptorFailed" />
+      <xs:enumeration value="ErrorImpersonateUserDenied" />
+      <xs:enumeration value="ErrorImpersonationDenied" />
+      <xs:enumeration value="ErrorImpersonationFailed" />
+      <xs:enumeration value="ErrorIncorrectUpdatePropertyCount" />
+      <xs:enumeration value="ErrorIndividualMailboxLimitReached" />
+      <xs:enumeration value="ErrorInsufficientResources" />
+      <xs:enumeration value="ErrorInternalServerError" />
+      <xs:enumeration value="ErrorInternalServerTransientError" />
+      <xs:enumeration value="ErrorInvalidAccessLevel" />
+      <xs:enumeration value="ErrorInvalidAttachmentId" />
+      <xs:enumeration value="ErrorInvalidAttachmentSubfilter" />
+      <xs:enumeration value="ErrorInvalidAttachmentSubfilterTextFilter" />
+      <xs:enumeration value="ErrorInvalidAuthorizationContext" />
+      <xs:enumeration value="ErrorInvalidChangeKey" />
+      <xs:enumeration value="ErrorInvalidClientSecurityContext" />
+      <xs:enumeration value="ErrorInvalidCompleteDate" />
+      <xs:enumeration value="ErrorInvalidCrossForestCredentials" />
+      <xs:enumeration value="ErrorInvalidExcludesRestriction" />
+      <xs:enumeration value="ErrorInvalidExpressionTypeForSubFilter" />
+      <xs:enumeration value="ErrorInvalidExtendedProperty" />
+      <xs:enumeration value="ErrorInvalidExtendedPropertyValue" />
+      <xs:enumeration value="ErrorInvalidFolderId" />
+      <xs:enumeration value="ErrorInvalidFractionalPagingParameters" />
+      <xs:enumeration value="ErrorInvalidFreeBusyViewType" />
+      <xs:enumeration value="ErrorInvalidId" />
+      <xs:enumeration value="ErrorInvalidIdEmpty" />
+      <xs:enumeration value="ErrorInvalidIdMalformed" />
+      <xs:enumeration value="ErrorInvalidIdMonikerTooLong" />
+      <xs:enumeration value="ErrorInvalidIdNotAnItemAttachmentId" />
+      <xs:enumeration value="ErrorInvalidIdReturnedByResolveNames" />
+      <xs:enumeration value="ErrorInvalidIdStoreObjectIdTooLong" />
+      <xs:enumeration value="ErrorInvalidIdTooManyAttachmentLevels" />
+      <xs:enumeration value="ErrorInvalidIdXml" />
+      <xs:enumeration value="ErrorInvalidIndexedPagingParameters" />
+      <xs:enumeration value="ErrorInvalidInternetHeaderChildNodes" />
+      <xs:enumeration value="ErrorInvalidItemForOperationCreateItemAttachment" />
+      <xs:enumeration value="ErrorInvalidItemForOperationCreateItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationAcceptItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationDeclineItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationCancelItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationExpandDL" />
+      <xs:enumeration value="ErrorInvalidItemForOperationRemoveItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationSendItem" />
+      <xs:enumeration value="ErrorInvalidItemForOperationTentative" />
+      <xs:enumeration value="ErrorInvalidManagedFolderProperty" />
+      <xs:enumeration value="ErrorInvalidManagedFolderQuota" />
+      <xs:enumeration value="ErrorInvalidManagedFolderSize" />
+      <xs:enumeration value="ErrorInvalidMergedFreeBusyInterval" />
+      <xs:enumeration value="ErrorInvalidNameForNameResolution" />
+      <xs:enumeration value="ErrorInvalidNetworkServiceContext" />
+      <xs:enumeration value="ErrorInvalidOofParameter" />
+      <xs:enumeration value="ErrorInvalidPagingMaxRows" />
+      <xs:enumeration value="ErrorInvalidParentFolder" />
+      <xs:enumeration value="ErrorInvalidPercentCompleteValue" />
+      <xs:enumeration value="ErrorInvalidPropertyAppend" />
+      <xs:enumeration value="ErrorInvalidPropertyDelete" />
+      <xs:enumeration value="ErrorInvalidPropertyForExists" />
+      <xs:enumeration value="ErrorInvalidPropertyForOperation" />
+      <xs:enumeration value="ErrorInvalidPropertyRequest" />
+      <xs:enumeration value="ErrorInvalidPropertySet" />
+      <xs:enumeration value="ErrorInvalidPropertyUpdateSentMessage" />
+      <xs:enumeration value="ErrorInvalidPullSubscriptionId" />
+      <xs:enumeration value="ErrorInvalidPushSubscriptionUrl" />
+      <xs:enumeration value="ErrorInvalidRecipients" />
+      <xs:enumeration value="ErrorInvalidRecipientSubfilter" />
+      <xs:enumeration value="ErrorInvalidRecipientSubfilterComparison" />
+      <xs:enumeration value="ErrorInvalidRecipientSubfilterOrder" />
+      <xs:enumeration value="ErrorInvalidRecipientSubfilterTextFilter" />
+      <xs:enumeration value="ErrorInvalidReferenceItem" />
+      <xs:enumeration value="ErrorInvalidRequest" />
+      <xs:enumeration value="ErrorInvalidRestriction" />
+      <xs:enumeration value="ErrorInvalidRoutingType" />
+      <xs:enumeration value="ErrorInvalidScheduledOofDuration" />
+      <xs:enumeration value="ErrorInvalidSecurityDescriptor" />
+      <xs:enumeration value="ErrorInvalidSendItemSaveSettings" />
+      <xs:enumeration value="ErrorInvalidSerializedAccessToken" />
+      <xs:enumeration value="ErrorInvalidSid" />
+      <xs:enumeration value="ErrorInvalidSmtpAddress" />
+      <xs:enumeration value="ErrorInvalidSubfilterType" />
+      <xs:enumeration value="ErrorInvalidSubfilterTypeNotAttendeeType" />
+      <xs:enumeration value="ErrorInvalidSubfilterTypeNotRecipientType" />
+      <xs:enumeration value="ErrorInvalidSubscription" />
+      <xs:enumeration value="ErrorInvalidSyncStateData" />
+      <xs:enumeration value="ErrorInvalidTimeInterval" />
+      <xs:enumeration value="ErrorInvalidUserOofSettings" />
+      <xs:enumeration value="ErrorInvalidUserPrincipalName" />
+      <xs:enumeration value="ErrorInvalidUserSid" />
+      <xs:enumeration value="ErrorInvalidUserSidMissingUPN" />
+      <xs:enumeration value="ErrorInvalidValueForProperty" />
+      <xs:enumeration value="ErrorInvalidWatermark" />
+      <xs:enumeration value="ErrorIrresolvableConflict" />
+      <xs:enumeration value="ErrorItemCorrupt" />
+      <xs:enumeration value="ErrorItemNotFound" />
+      <xs:enumeration value="ErrorItemPropertyRequestFailed" />
+      <xs:enumeration value="ErrorItemSave" />
+      <xs:enumeration value="ErrorItemSavePropertyError" />
+      <xs:enumeration value="ErrorLegacyMailboxFreeBusyViewTypeNotMerged" />
+      <xs:enumeration value="ErrorLocalServerObjectNotFound" />
+      <xs:enumeration value="ErrorLogonAsNetworkServiceFailed" />
+      <xs:enumeration value="ErrorMailboxConfiguration" />
+      <xs:enumeration value="ErrorMailboxDataArrayEmpty" />
+      <xs:enumeration value="ErrorMailboxDataArrayTooBig" />
+      <xs:enumeration value="ErrorMailboxLogonFailed" />
+      <xs:enumeration value="ErrorMailboxMoveInProgress" />
+      <xs:enumeration value="ErrorMailboxStoreUnavailable" />
+      <xs:enumeration value="ErrorMailRecipientNotFound" />
+      <xs:enumeration value="ErrorManagedFolderAlreadyExists" />
+      <xs:enumeration value="ErrorManagedFolderNotFound" />
+      <xs:enumeration value="ErrorManagedFoldersRootFailure" />
+      <xs:enumeration value="ErrorMeetingSuggestionGenerationFailed" />
+      <xs:enumeration value="ErrorMessageDispositionRequired" />
+      <xs:enumeration value="ErrorMessageSizeExceeded" />
+      <xs:enumeration value="ErrorMimeContentConversionFailed" />
+      <xs:enumeration value="ErrorMimeContentInvalid" />
+      <xs:enumeration value="ErrorMimeContentInvalidBase64String" />
+      <xs:enumeration value="ErrorMissingArgument" />
+      <xs:enumeration value="ErrorMissingEmailAddress" />
+      <xs:enumeration value="ErrorMissingEmailAddressForManagedFolder" />
+      <xs:enumeration value="ErrorMissingInformationEmailAddress" />
+      <xs:enumeration value="ErrorMissingInformationReferenceItemId" />
+      <xs:enumeration value="ErrorMissingItemForCreateItemAttachment" />
+      <xs:enumeration value="ErrorMissingManagedFolderId" />
+      <xs:enumeration value="ErrorMissingRecipients" />
+      <xs:enumeration value="ErrorMoreThanOneAccessModeSpecified" />
+      <xs:enumeration value="ErrorMoveCopyFailed" />
+      <xs:enumeration value="ErrorMoveDistinguishedFolder" />
+      <xs:enumeration value="ErrorNameResolutionMultipleResults" />
+      <xs:enumeration value="ErrorNameResolutionNoMailbox" />
+      <xs:enumeration value="ErrorNameResolutionNoResults" />
+      <xs:enumeration value="ErrorNoCalendar" />
+      <xs:enumeration value="ErrorNoFolderClassOverride" />
+      <xs:enumeration value="ErrorNoFreeBusyAccess" />
+      <xs:enumeration value="ErrorNonExistentMailbox" />
+      <xs:enumeration value="ErrorNonPrimarySmtpAddress" />
+      <xs:enumeration value="ErrorNoPropertyTagForCustomProperties" />
+      <xs:enumeration value="ErrorNotEnoughMemory" />
+      <xs:enumeration value="ErrorObjectTypeChanged" />
+      <xs:enumeration value="ErrorOccurrenceCrossingBoundary" />
+      <xs:enumeration value="ErrorOccurrenceTimeSpanTooBig" />
+      <xs:enumeration value="ErrorParentFolderIdRequired" />
+      <xs:enumeration value="ErrorParentFolderNotFound" />
+      <xs:enumeration value="ErrorPasswordChangeRequired" />
+      <xs:enumeration value="ErrorPasswordExpired" />
+      <xs:enumeration value="ErrorPropertyUpdate" />
+      <xs:enumeration value="ErrorPropertyValidationFailure" />
+      <xs:enumeration value="ErrorProxyRequestNotAllowed" />
+      <xs:enumeration value="ErrorProxyRequestProcessingFailed" />
+      <xs:enumeration value="ErrorPublicFolderRequestProcessingFailed" />
+      <xs:enumeration value="ErrorPublicFolderServerNotFound" />
+      <xs:enumeration value="ErrorQueryFilterTooLong" />
+      <xs:enumeration value="ErrorQuotaExceeded" />
+      <xs:enumeration value="ErrorReadEventsFailed" />
+      <xs:enumeration value="ErrorReadReceiptNotPending" />
+      <xs:enumeration value="ErrorRecurrenceEndDateTooBig" />
+      <xs:enumeration value="ErrorRecurrenceHasNoOccurrence" />
+      <xs:enumeration value="ErrorRequestAborted" />
+      <xs:enumeration value="ErrorRequestStreamTooBig" />
+      <xs:enumeration value="ErrorRequiredPropertyMissing" />
+      <xs:enumeration value="ErrorResponseSchemaValidation" />
+      <xs:enumeration value="ErrorRestrictionTooLong" />
+      <xs:enumeration value="ErrorRestrictionTooComplex" />
+      <xs:enumeration value="ErrorResultSetTooBig" />
+      <xs:enumeration value="ErrorInvalidExchangeImpersonationHeaderData" />
+      <xs:enumeration value="ErrorSavedItemFolderNotFound" />
+      <xs:enumeration value="ErrorSchemaValidation" />
+      <xs:enumeration value="ErrorSearchFolderNotInitialized" />
+      <xs:enumeration value="ErrorSendAsDenied" />
+      <xs:enumeration value="ErrorSendMeetingCancellationsRequired" />
+      <xs:enumeration value="ErrorSendMeetingInvitationsOrCancellationsRequired" />
+      <xs:enumeration value="ErrorSendMeetingInvitationsRequired" />
+      <xs:enumeration value="ErrorSentMeetingRequestUpdate" />
+      <xs:enumeration value="ErrorSentTaskRequestUpdate" />
+      <xs:enumeration value="ErrorServerBusy" />
+      <xs:enumeration value="ErrorServiceDiscoveryFailed" />
+      <xs:enumeration value="ErrorStaleObject" />
+      <xs:enumeration value="ErrorSubscriptionAccessDenied" />
+      <xs:enumeration value="ErrorSubscriptionDelegateAccessNotSupported" />
+      <xs:enumeration value="ErrorSubscriptionNotFound" />
+      <xs:enumeration value="ErrorSyncFolderNotFound" />
+      <xs:enumeration value="ErrorTimeIntervalTooBig" />
+      <xs:enumeration value="ErrorTimeoutExpired" />
+      <xs:enumeration value="ErrorToFolderNotFound" />
+      <xs:enumeration value="ErrorTokenSerializationDenied" />
+      <xs:enumeration value="ErrorUpdatePropertyMismatch" />
+      <xs:enumeration value="ErrorUnableToGetUserOofSettings" />
+      <xs:enumeration value="ErrorUnsupportedSubFilter" />
+      <xs:enumeration value="ErrorUnsupportedCulture" />
+      <xs:enumeration value="ErrorUnsupportedMapiPropertyType" />
+      <xs:enumeration value="ErrorUnsupportedMimeConversion" />
+      <xs:enumeration value="ErrorUnsupportedPathForQuery" />
+      <xs:enumeration value="ErrorUnsupportedPathForSortGroup" />
+      <xs:enumeration value="ErrorUnsupportedPropertyDefinition" />
+      <xs:enumeration value="ErrorUnsupportedQueryFilter" />
+      <xs:enumeration value="ErrorUnsupportedRecurrence" />
+      <xs:enumeration value="ErrorUnsupportedTypeForConversion" />
+      <xs:enumeration value="ErrorVoiceMailNotImplemented" />
+      <xs:enumeration value="ErrorVirusDetected" />
+      <xs:enumeration value="ErrorVirusMessageDeleted" />
+      <xs:enumeration value="ErrorWebRequestInInvalidState" />
+      <xs:enumeration value="ErrorWin32InteropError" />
+      <xs:enumeration value="ErrorWorkingHoursSaveFailed" />
+      <xs:enumeration value="ErrorWorkingHoursXmlMalformed" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="ResponseMessageType">
+    <xs:sequence minOccurs="0">
+      <xs:element minOccurs="0" name="MessageText" type="xs:string" />
+      <xs:element minOccurs="0" name="ResponseCode" type="tns:ResponseCodeType" />
+      <xs:element minOccurs="0" name="DescriptiveLinkKey" type="xs:int" />
+      <xs:element minOccurs="0" name="MessageXml">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+    <xs:attribute name="ResponseClass" type="t:ResponseClassType" use="required" />
+  </xs:complexType>
+  <xs:complexType name="ArrayOfResponseMessagesType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element name="CreateItemResponseMessage" type="tns:ItemInfoResponseMessageType" />
+      <xs:element name="DeleteItemResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element name="GetItemResponseMessage" type="tns:ItemInfoResponseMessageType" />
+      <xs:element name="UpdateItemResponseMessage" type="tns:ItemInfoResponseMessageType" />
+      <xs:element name="SendItemResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element name="DeleteFolderResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element name="CreateFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+      <xs:element name="GetFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+      <xs:element name="FindFolderResponseMessage" type="tns:FindFolderResponseMessageType" />
+      <xs:element name="UpdateFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+      <xs:element name="MoveFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+      <xs:element name="CopyFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+      <xs:element name="CreateAttachmentResponseMessage" type="tns:AttachmentInfoResponseMessageType" />
+      <xs:element name="DeleteAttachmentResponseMessage" type="tns:DeleteAttachmentResponseMessageType" />
+      <xs:element name="GetAttachmentResponseMessage" type="tns:AttachmentInfoResponseMessageType" />
+      <xs:element name="FindItemResponseMessage" type="tns:FindItemResponseMessageType" />
+      <xs:element name="MoveItemResponseMessage" type="tns:ItemInfoResponseMessageType" />
+      <xs:element name="CopyItemResponseMessage" type="tns:ItemInfoResponseMessageType" />
+      <xs:element name="ResolveNamesResponseMessage" type="tns:ResolveNamesResponseMessageType" />
+      <xs:element name="ExpandDLResponseMessage" type="tns:ExpandDLResponseMessageType" />
+      <xs:element name="GetEventsResponseMessage" type="tns:GetEventsResponseMessageType" />
+      <xs:element name="SubscribeResponseMessage" type="tns:SubscribeResponseMessageType" />
+      <xs:element name="UnsubscribeResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element name="SendNotificationResponseMessage" type="tns:SendNotificationResponseMessageType" />
+      <xs:element name="SyncFolderHierarchyResponseMessage" type="tns:SyncFolderHierarchyResponseMessageType" />
+      <xs:element name="SyncFolderItemsResponseMessage" type="tns:SyncFolderItemsResponseMessageType" />
+      <xs:element name="CreateManagedFolderResponseMessage" type="tns:FolderInfoResponseMessageType" />
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="BaseResponseMessageType">
+    <xs:sequence>
+      <xs:element name="ResponseMessages" type="tns:ArrayOfResponseMessagesType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="BaseRequestType" abstract="true" />
+  <xs:complexType name="GetFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="FolderShape" type="t:FolderResponseShapeType" />
+          <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetFolder" type="tns:GetFolderType" />
+  <xs:complexType name="CreateFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ParentFolderId" type="t:TargetFolderIdType" />
+          <xs:element name="Folders" type="t:NonEmptyArrayOfFoldersType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateFolder" type="tns:CreateFolderType" />
+  <xs:complexType name="FindFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="FolderShape" type="t:FolderResponseShapeType" />
+          <xs:choice minOccurs="0" maxOccurs="1">
+            <xs:element name="IndexedPageFolderView" type="t:IndexedPageViewType" />
+            <xs:element name="FractionalPageFolderView" type="t:FractionalPageViewType" />
+          </xs:choice>
+          <xs:element minOccurs="0" name="Restriction" type="t:RestrictionType" />
+          <xs:element name="ParentFolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" />
+        </xs:sequence>
+        <xs:attribute name="Traversal" type="t:FolderQueryTraversalType" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="FindFolder" type="tns:FindFolderType" />
+  <xs:complexType name="FolderInfoResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Folders" type="t:ArrayOfFoldersType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FindFolderResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="RootFolder" type="t:FindFolderParentType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FindFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="FindFolderResponse" type="tns:FindFolderResponseType" />
+  <xs:complexType name="DeleteFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" />
+        </xs:sequence>
+        <xs:attribute name="DeleteType" type="t:DisposalType" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteFolder" type="tns:DeleteFolderType" />
+  <xs:complexType name="DeleteFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteFolderResponse" type="tns:DeleteFolderResponseType" />
+  <xs:complexType name="BaseMoveCopyFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ToFolderId" type="t:TargetFolderIdType" />
+          <xs:element name="FolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MoveFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseMoveCopyFolderType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CopyFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseMoveCopyFolderType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="MoveFolder" type="tns:MoveFolderType" />
+  <xs:element name="CopyFolder" type="tns:CopyFolderType" />
+  <xs:complexType name="UpdateFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="FolderChanges" type="t:NonEmptyArrayOfFolderChangesType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="UpdateFolder" type="tns:UpdateFolderType" />
+  <xs:complexType name="CreateFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateFolderResponse" type="tns:CreateFolderResponseType" />
+  <xs:complexType name="GetFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetFolderResponse" type="tns:GetFolderResponseType" />
+  <xs:complexType name="UpdateFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="UpdateFolderResponse" type="tns:UpdateFolderResponseType" />
+  <xs:complexType name="MoveFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CopyFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="MoveFolderResponse" type="tns:MoveFolderResponseType" />
+  <xs:element name="CopyFolderResponse" type="tns:CopyFolderResponseType" />
+  <xs:complexType name="GetItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ItemShape" type="t:ItemResponseShapeType" />
+          <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetItem" type="tns:GetItemType" />
+  <xs:complexType name="CreateItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SavedItemFolderId" type="t:TargetFolderIdType" />
+          <xs:element name="Items" type="t:NonEmptyArrayOfAllItemsType" />
+        </xs:sequence>
+        <xs:attribute name="MessageDisposition" type="t:MessageDispositionType" use="optional" />
+        <xs:attribute name="SendMeetingInvitations" type="t:CalendarItemCreateOrDeleteOperationType" use="optional" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateItem" type="tns:CreateItemType" />
+  <xs:complexType name="UpdateItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SavedItemFolderId" type="t:TargetFolderIdType" />
+          <xs:element name="ItemChanges" type="t:NonEmptyArrayOfItemChangesType" />
+        </xs:sequence>
+        <xs:attribute name="ConflictResolution" type="t:ConflictResolutionType" use="required" />
+        <xs:attribute name="MessageDisposition" type="t:MessageDispositionType" use="optional" />
+        <xs:attribute name="SendMeetingInvitationsOrCancellations" type="t:CalendarItemUpdateOperationType" use="optional" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="UpdateItem" type="tns:UpdateItemType" />
+  <xs:complexType name="ItemInfoResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element name="Items" type="t:ArrayOfRealItemsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeleteItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" />
+        </xs:sequence>
+        <xs:attribute name="DeleteType" type="t:DisposalType" use="required" />
+        <xs:attribute name="SendMeetingCancellations" type="t:CalendarItemCreateOrDeleteOperationType" use="optional" />
+        <xs:attribute name="AffectedTaskOccurrences" type="t:AffectedTaskOccurrencesType" use="optional" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteItem" type="tns:DeleteItemType" />
+  <xs:complexType name="AttachmentInfoResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element name="Attachments" type="t:ArrayOfAttachmentsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeleteAttachmentResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="RootItemId" type="t:RootItemIdType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BaseMoveCopyItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ToFolderId" type="t:TargetFolderIdType" />
+          <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MoveItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseMoveCopyItemType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CopyItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseMoveCopyItemType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="MoveItem" type="tns:MoveItemType" />
+  <xs:element name="CopyItem" type="tns:CopyItemType" />
+  <xs:complexType name="SendItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ItemIds" type="t:NonEmptyArrayOfBaseItemIdsType" />
+          <xs:element minOccurs="0" name="SavedItemFolderId" type="t:TargetFolderIdType" />
+        </xs:sequence>
+        <xs:attribute name="SaveItemToFolder" type="xs:boolean" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SendItem" type="tns:SendItemType" />
+  <xs:complexType name="SendItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SendItemResponse" type="tns:SendItemResponseType" />
+  <xs:complexType name="FindItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="ItemShape" type="t:ItemResponseShapeType" />
+          <xs:choice minOccurs="0">
+            <xs:element name="IndexedPageItemView" type="t:IndexedPageViewType" />
+            <xs:element name="FractionalPageItemView" type="t:FractionalPageViewType" />
+            <xs:element name="CalendarView" type="t:CalendarViewType" />
+            <xs:element name="ContactsView" type="t:ContactsViewType" />
+          </xs:choice>
+          <xs:choice minOccurs="0">
+            <xs:element name="GroupBy" type="t:GroupByType" />
+            <xs:element name="DistinguishedGroupBy" type="t:DistinguishedGroupByType" />
+          </xs:choice>
+          <xs:element minOccurs="0" name="Restriction" type="t:RestrictionType" />
+          <xs:element minOccurs="0" name="SortOrder" type="t:NonEmptyArrayOfFieldOrdersType" />
+          <xs:element name="ParentFolderIds" type="t:NonEmptyArrayOfBaseFolderIdsType" />
+        </xs:sequence>
+        <xs:attribute name="Traversal" type="t:ItemQueryTraversalType" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="FindItem" type="tns:FindItemType" />
+  <xs:complexType name="CreateAttachmentType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="1" name="ParentItemId" type="t:ItemIdType" />
+          <xs:element name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateAttachment" type="tns:CreateAttachmentType" />
+  <xs:complexType name="CreateAttachmentResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateAttachmentResponse" type="tns:CreateAttachmentResponseType" />
+  <xs:complexType name="DeleteAttachmentType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="AttachmentIds" type="t:NonEmptyArrayOfRequestAttachmentIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteAttachment" type="tns:DeleteAttachmentType" />
+  <xs:complexType name="DeleteAttachmentResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteAttachmentResponse" type="tns:DeleteAttachmentResponseType" />
+  <xs:complexType name="GetAttachmentType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="AttachmentShape" type="t:AttachmentResponseShapeType" />
+          <xs:element name="AttachmentIds" type="t:NonEmptyArrayOfRequestAttachmentIdsType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetAttachment" type="tns:GetAttachmentType" />
+  <xs:complexType name="GetAttachmentResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetAttachmentResponse" type="tns:GetAttachmentResponseType" />
+  <xs:complexType name="CreateItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateItemResponse" type="tns:CreateItemResponseType" />
+  <xs:complexType name="UpdateItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="UpdateItemResponse" type="tns:UpdateItemResponseType" />
+  <xs:complexType name="GetItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetItemResponse" type="tns:GetItemResponseType" />
+  <xs:complexType name="MoveItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CopyItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="MoveItemResponse" type="tns:MoveItemResponseType" />
+  <xs:element name="CopyItemResponse" type="tns:CopyItemResponseType" />
+  <xs:complexType name="DeleteItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="DeleteItemResponse" type="tns:DeleteItemResponseType" />
+  <xs:complexType name="FindItemResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="RootFolder" type="t:FindItemParentType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FindItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="FindItemResponse" type="tns:FindItemResponseType" />
+  <xs:complexType name="ResolveNamesType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="UnresolvedEntry" type="t:NonEmptyStringType" />
+        </xs:sequence>
+        <xs:attribute name="ReturnFullContactData" type="xs:boolean" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResolveNames" type="tns:ResolveNamesType" />
+  <xs:complexType name="ResolveNamesResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ResolutionSet" type="t:ArrayOfResolutionType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ResolveNamesResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResolveNamesResponse" type="tns:ResolveNamesResponseType" />
+  <xs:complexType name="ExpandDLType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="Mailbox" type="t:EmailAddressType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ExpandDL" type="tns:ExpandDLType" />
+  <xs:complexType name="ExpandDLResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="DLExpansion" type="t:ArrayOfDLExpansionType" />
+        </xs:sequence>
+        <xs:attributeGroup ref="t:FindResponsePagingAttributes" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ExpandDLResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ExpandDLResponse" type="tns:ExpandDLResponseType" />
+  <xs:complexType name="CreateManagedFolderRequestType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="FolderNames" type="t:NonEmptyArrayOfFolderNamesType" />
+          <xs:element minOccurs="0" name="Mailbox" type="t:EmailAddressType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateManagedFolder" type="tns:CreateManagedFolderRequestType" />
+  <xs:complexType name="CreateManagedFolderResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CreateManagedFolderResponse" type="tns:CreateManagedFolderResponseType" />
+  <xs:complexType name="SubscribeType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:choice>
+          <xs:element name="PullSubscriptionRequest" type="t:PullSubscriptionRequestType" />
+          <xs:element name="PushSubscriptionRequest" type="t:PushSubscriptionRequestType" />
+        </xs:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Subscribe" type="tns:SubscribeType" />
+  <xs:complexType name="SubscribeResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SubscriptionId" type="t:SubscriptionIdType" />
+          <xs:element minOccurs="0" name="Watermark" type="t:WatermarkType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SubscribeResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SubscribeResponse" type="tns:SubscribeResponseType" />
+  <xs:complexType name="UnsubscribeType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="SubscriptionId" type="t:SubscriptionIdType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Unsubscribe" type="tns:UnsubscribeType" />
+  <xs:complexType name="UnsubscribeResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="UnsubscribeResponse" type="tns:UnsubscribeResponseType" />
+  <xs:complexType name="GetEventsType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element name="SubscriptionId" type="t:SubscriptionIdType" />
+          <xs:element name="Watermark" type="t:WatermarkType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetEvents" type="tns:GetEventsType" />
+  <xs:complexType name="GetEventsResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Notification" type="t:NotificationType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="GetEventsResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetEventsResponse" type="tns:GetEventsResponseType" />
+  <xs:complexType name="SendNotificationResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="1" name="Notification" type="t:NotificationType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SendNotificationResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SendNotification" type="tns:SendNotificationResponseType" />
+  <xs:complexType name="SendNotificationResultType">
+    <xs:sequence>
+      <xs:element name="SubscriptionStatus" type="t:SubscriptionStatusType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="SendNotificationResult" type="tns:SendNotificationResultType" />
+  <xs:complexType name="SyncFolderHierarchyType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="1" name="FolderShape" type="t:FolderResponseShapeType" />
+          <xs:element minOccurs="0" name="SyncState" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SyncFolderHierarchy" type="tns:SyncFolderHierarchyType" />
+  <xs:complexType name="SyncFolderHierarchyResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SyncState" type="xs:string" />
+          <xs:element minOccurs="0" name="IncludesLastFolderInRange" type="xs:boolean" />
+          <xs:element minOccurs="0" name="Changes" type="t:SyncFolderHierarchyChangesType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SyncFolderHierarchyResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SyncFolderHierarchyResponse" type="tns:SyncFolderHierarchyResponseType" />
+  <xs:complexType name="SyncFolderItemsType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="1" name="ItemShape" type="t:ItemResponseShapeType" />
+          <xs:element minOccurs="1" name="SyncFolderId" type="t:TargetFolderIdType" />
+          <xs:element minOccurs="0" name="SyncState" type="xs:string" />
+          <xs:element minOccurs="0" name="Ignore" type="t:ArrayOfBaseItemIdsType" />
+          <xs:element minOccurs="1" name="MaxChangesReturned" type="t:MaxSyncChangesReturnedType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SyncFolderItems" type="tns:SyncFolderItemsType" />
+  <xs:complexType name="SyncFolderItemsResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResponseMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SyncState" type="xs:string" />
+          <xs:element minOccurs="0" name="IncludesLastItemInRange" type="xs:boolean" />
+          <xs:element minOccurs="0" name="Changes" type="t:SyncFolderItemsChangesType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SyncFolderItemsResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseResponseMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SyncFolderItemsResponse" type="tns:SyncFolderItemsResponseType" />
+  <xs:complexType name="GetUserAvailabilityRequestType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element ref="t:TimeZone" />
+          <xs:element name="MailboxDataArray" type="t:ArrayOfMailboxData" />
+          <xs:element minOccurs="0" maxOccurs="1" ref="t:FreeBusyViewOptions" />
+          <xs:element minOccurs="0" maxOccurs="1" ref="t:SuggestionsViewOptions" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetUserAvailabilityRequest" type="tns:GetUserAvailabilityRequestType" />
+  <xs:complexType name="FreeBusyResponseType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="1" name="ResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element minOccurs="0" maxOccurs="1" name="FreeBusyView" type="t:FreeBusyView" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ArrayOfFreeBusyResponse">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="FreeBusyResponse" type="tns:FreeBusyResponseType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="SuggestionsResponseType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="1" name="ResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element minOccurs="0" maxOccurs="1" name="SuggestionDayResultArray" type="t:ArrayOfSuggestionDayResult" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="GetUserAvailabilityResponseType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="1" name="FreeBusyResponseArray" type="tns:ArrayOfFreeBusyResponse" />
+      <xs:element minOccurs="0" maxOccurs="1" name="SuggestionsResponse" type="tns:SuggestionsResponseType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="GetUserAvailabilityResponse" type="tns:GetUserAvailabilityResponseType" />
+  <xs:complexType name="GetUserOofSettingsRequest">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="1" maxOccurs="1" ref="t:Mailbox" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="GetUserOofSettingsRequest" type="tns:GetUserOofSettingsRequest" />
+  <xs:complexType name="GetUserOofSettingsResponse">
+    <xs:sequence>
+      <xs:element minOccurs="1" maxOccurs="1" name="ResponseMessage" type="tns:ResponseMessageType" />
+      <xs:element minOccurs="0" maxOccurs="1" ref="t:OofSettings" />
+      <xs:element minOccurs="0" maxOccurs="1" name="AllowExternalOof" type="t:ExternalAudience" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="GetUserOofSettingsResponse" type="tns:GetUserOofSettingsResponse" />
+  <xs:complexType name="SetUserOofSettingsRequest">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:BaseRequestType">
+        <xs:sequence>
+          <xs:element minOccurs="1" maxOccurs="1" ref="t:Mailbox" />
+          <xs:element minOccurs="1" maxOccurs="1" ref="t:UserOofSettings" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SetUserOofSettingsRequest" type="tns:SetUserOofSettingsRequest" />
+  <xs:complexType name="SetUserOofSettingsResponse">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="1" name="ResponseMessage" type="tns:ResponseMessageType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="SetUserOofSettingsResponse" type="tns:SetUserOofSettingsResponse" />
+</xs:schema>
\ No newline at end of file

Added: trunk/exchangews/types.xsd
===================================================================
--- trunk/exchangews/types.xsd	                        (rev 0)
+++ trunk/exchangews/types.xsd	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,2713 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/types" id="types" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- replaced this with the line below <xs:import namespace="http://www.w3.org/XML/1998/namespace" /> -->
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+
+  <xs:element name="MailboxCulture" type="xs:language" />
+  <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 maxOccurs="unbounded" name="GroupIdentifier" type="t:SidAndAttributesType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="NonEmptyArrayOfRestrictedGroupIdentifiersType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="RestrictedGroupIdentifier" type="t:SidAndAttributesType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="SerializedSecurityContextType">
+    <xs:sequence>
+      <xs:element name="UserSid" type="xs:string" />
+      <xs:element minOccurs="0" name="GroupSids" type="t:NonEmptyArrayOfGroupIdentifiersType" />
+      <xs:element minOccurs="0" name="RestrictedGroupSids" type="t:NonEmptyArrayOfRestrictedGroupIdentifiersType" />
+      <xs:element minOccurs="0" name="PrimarySmtpAddress" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="SerializedSecurityContext" type="t:SerializedSecurityContextType" />
+  <xs:complexType name="ConnectingSIDType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="PrincipalName" type="xs:string" />
+      <xs:element minOccurs="0" name="SID" type="xs:string" />
+      <xs:element minOccurs="0" name="PrimarySmtpAddress" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ExchangeImpersonationType">
+    <xs:sequence>
+      <xs:element name="ConnectingSID" type="t:ConnectingSIDType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ExchangeImpersonation" type="t:ExchangeImpersonationType" />
+  <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:complexType>
+  </xs:element>
+  <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="Mailbox" />
+      <xs:enumeration value="PublicDL" />
+      <xs:enumeration value="PrivateDL" />
+      <xs:enumeration value="Contact" />
+    </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 mixed="false">
+      <xs:extension base="t:BaseEmailAddressType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" type="xs:string" />
+          <xs:element minOccurs="0" name="EmailAddress" type="t:NonEmptyStringType" />
+          <xs:element minOccurs="0" name="RoutingType" type="t:NonEmptyStringType" />
+          <xs:element minOccurs="0" name="MailboxType" type="t:MailboxTypeType" />
+          <xs:element minOccurs="0" name="ItemId" type="t:ItemIdType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <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>
+  <xs:simpleType name="UnindexedFieldURIType">
+    <xs:restriction base="xs:string">
+      <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="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: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="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: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" />
+      <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" />
+      <xs:enumeration value="meetingRequest:MeetingRequestType" />
+      <xs:enumeration value="meetingRequest:IntendedFreeBusyStatus" />
+      <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="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" />
+      <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: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:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ExceptionPropertyURIType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="attachment:Name" />
+      <xs:enumeration value="attachment:ContentType" />
+      <xs:enumeration value="attachment:Content" />
+      <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>
+  <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: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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <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 abstract="true" name="Path" type="t:BasePathToElementType" />
+  <xs:element name="FieldURI" substitutionGroup="t:Path" type="t:PathToUnindexedFieldType" />
+  <xs:element name="IndexedFieldURI" substitutionGroup="t:Path" type="t:PathToIndexedFieldType" />
+  <xs:element name="ExceptionFieldURI" substitutionGroup="t:Path" type="t:PathToExceptionFieldType" />
+  <xs:element name="ExtendedFieldURI" substitutionGroup="t:Path" type="t:PathToExtendedFieldType" />
+  <xs:complexType name="NonEmptyArrayOfPathsToElementType">
+    <xs:choice maxOccurs="unbounded">
+      <xs:element ref="t:Path" />
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="NonEmptyArrayOfPropertyValuesType">
+    <xs:choice>
+      <xs:element maxOccurs="unbounded" name="Value" type="xs:string" />
+    </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>
+  <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:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="DefaultShapeNamesType">
+    <xs:restriction base="xs:NMTOKEN">
+      <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>
+  <xs:complexType name="FolderResponseShapeType">
+    <xs:sequence>
+      <xs:element name="BaseShape" type="t:DefaultShapeNamesType" />
+      <xs:element minOccurs="0" name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ItemResponseShapeType">
+    <xs:sequence>
+      <xs:element name="BaseShape" type="t:DefaultShapeNamesType" />
+      <xs:element minOccurs="0" name="IncludeMimeContent" type="xs:boolean" />
+      <xs:element minOccurs="0" name="BodyType" type="t:BodyTypeResponseType" />
+      <xs:element minOccurs="0" name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="AttachmentResponseShapeType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="IncludeMimeContent" type="xs:boolean" />
+      <xs:element minOccurs="0" name="BodyType" type="t:BodyTypeResponseType" />
+      <xs:element minOccurs="0" name="AdditionalProperties" type="t:NonEmptyArrayOfPathsToElementType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="DisposalType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="HardDelete" />
+      <xs:enumeration value="SoftDelete" />
+      <xs:enumeration value="MoveToDeletedItems" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ConflictResolutionType">
+    <xs:annotation>
+      <xs:documentation>Type of conflict resolution to attempt during update</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="NeverOverwrite" />
+      <xs:enumeration value="AutoResolve" />
+      <xs:enumeration value="AlwaysOverwrite" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ResponseClassType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="Success" />
+      <xs:enumeration value="Warning" />
+      <xs:enumeration value="Error" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="ChangeDescriptionType" abstract="true">
+    <xs:sequence>
+      <xs:element ref="t:Path" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ItemChangeDescriptionType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ChangeDescriptionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="FolderChangeDescriptionType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ChangeDescriptionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SetItemFieldType">
+    <xs:complexContent mixed="false">
+      <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:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SetFolderFieldType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:ItemChangeDescriptionType">
+        <xs:sequence />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeleteFolderFieldType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:FolderChangeDescriptionType">
+        <xs:sequence />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AppendToItemFieldType">
+    <xs:complexContent mixed="false">
+      <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:choice>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AppendToFolderFieldType">
+    <xs:complexContent mixed="false">
+      <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>
+  <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 maxOccurs="unbounded" name="ItemChange" type="t:ItemChangeType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="InternetHeaderType">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="HeaderName" type="xs:string" />
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="NonEmptyArrayOfInternetHeadersType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="InternetMessageHeader" type="t:InternetHeaderType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="RequestAttachmentIdType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:BaseItemIdType">
+        <xs:attribute name="Id" type="xs:string" use="required" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AttachmentIdType">
+    <xs:complexContent mixed="false">
+      <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>
+  <xs:complexType name="RootItemIdType">
+    <xs:complexContent mixed="false">
+      <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 minOccurs="0" maxOccurs="1" name="AttachmentId" type="t:AttachmentIdType" />
+      <xs:element minOccurs="0" maxOccurs="1" name="Name" type="xs:string" />
+      <xs:element minOccurs="0" maxOccurs="1" name="ContentType" type="xs:string" />
+      <xs:element minOccurs="0" maxOccurs="1" name="ContentId" type="xs:string" />
+      <xs:element minOccurs="0" maxOccurs="1" name="ContentLocation" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ItemAttachmentType">
+    <xs:complexContent mixed="false">
+      <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: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:choice>
+  </xs:complexType>
+  <xs:complexType name="FileAttachmentType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:AttachmentType">
+        <xs:sequence>
+          <xs:element minOccurs="0" maxOccurs="1" name="Content" type="xs:base64Binary" />
+        </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>
+  <xs:simpleType name="SensitivityChoicesType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="Normal" />
+      <xs:enumeration value="Personal" />
+      <xs:enumeration value="Private" />
+      <xs:enumeration value="Confidential" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ImportanceChoicesType">
+    <xs:restriction base="xs:NMTOKEN">
+      <xs:enumeration value="Low" />
+      <xs:enumeration value="Normal" />
+      <xs:enumeration value="High" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="BodyTypeType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="HTML" />
+      <xs:enumeration value="Text" />
+    </xs:restriction>
+  </xs:simpleType>
+  <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>
+  <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>
+  <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:NMTOKEN">
+      <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="root" />
+      <xs:enumeration value="junkemail" />
+      <xs:enumeration value="searchfolders" />
+      <xs:enumeration value="voicemail" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="DistinguishedFolderIdType">
+    <xs:annotation>
+      <xs:documentation>Identifier for a distinguished folder</xs:documentation>
+    </xs:annotation>
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:BaseFolderIdType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Mailbox" type="t:EmailAddressType" />
+        </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 mixed="false">
+      <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 minOccurs="1" maxOccurs="unbounded">
+      <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>
+  <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>
+  <xs:complexType name="FindFolderParentType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Folders" type="t:ArrayOfFoldersType" />
+    </xs:sequence>
+    <xs:attributeGroup ref="t:FindResponsePagingAttributes" />
+  </xs:complexType>
+  <xs:complexType name="BaseFolderType" abstract="true">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="FolderId" type="t:FolderIdType" />
+      <xs:element minOccurs="0" name="ParentFolderId" type="t:FolderIdType" />
+      <xs:element minOccurs="0" name="FolderClass" type="xs:string" />
+      <xs:element minOccurs="0" name="DisplayName" type="xs:string" />
+      <xs:element minOccurs="0" name="TotalCount" type="xs:int" />
+      <xs:element minOccurs="0" name="ChildFolderCount" type="xs:int" />
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedProperty" type="t:ExtendedPropertyType" />
+      <xs:element minOccurs="0" name="ManagedFolderInformation" type="t:ManagedFolderInformationType" />
+    </xs:sequence>
+  </xs:complexType>
+  <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 minOccurs="0" name="CanDelete" type="xs:boolean" />
+      <xs:element minOccurs="0" name="CanRenameOrMove" type="xs:boolean" />
+      <xs:element minOccurs="0" name="MustDisplayComment" type="xs:boolean" />
+      <xs:element minOccurs="0" name="HasQuota" type="xs:boolean" />
+      <xs:element minOccurs="0" name="IsManagedFoldersRoot" type="xs:boolean" />
+      <xs:element minOccurs="0" name="ManagedFolderId" type="xs:string" />
+      <xs:element minOccurs="0" name="Comment" type="xs:string" />
+      <xs:element minOccurs="0" name="StorageQuota" type="xs:int" />
+      <xs:element minOccurs="0" name="FolderSize" type="xs:int" />
+      <xs:element minOccurs="0" name="HomePage" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="FolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:BaseFolderType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="UnreadCount" type="xs:int" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CalendarFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:BaseFolderType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ContactsFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:BaseFolderType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SearchFolderType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:FolderType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="SearchParameters" type="t:SearchParametersType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TasksFolderType">
+    <xs:complexContent mixed="false">
+      <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>
+  <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 mixed="false">
+      <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:simpleType name="ItemClassType">
+    <xs:restriction base="xs:string" />
+  </xs:simpleType>
+  <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 mixed="false">
+      <xs:extension base="t:MessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ReferenceItemId" type="t:ItemIdType" />
+        </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 mixed="false">
+      <xs:extension base="t:ResponseObjectCoreType">
+        <xs:attribute name="ObjectName" type="xs:string">
+          <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>
+  <xs:complexType name="NonEmptyArrayOfResponseObjectsType">
+    <xs:choice minOccurs="0" maxOccurs="unbounded">
+      <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:choice>
+  </xs:complexType>
+  <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 maxOccurs="unbounded" name="FolderChange" type="t:FolderChangeType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="WellKnownResponseObjectType">
+    <xs:complexContent mixed="false">
+      <xs:restriction base="t:ResponseObjectType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ItemClass" type="t:ItemClassType" />
+          <xs:element minOccurs="0" name="Sensitivity" type="t:SensitivityChoicesType" />
+          <xs:element minOccurs="0" name="Body" type="t:BodyType" />
+          <xs:element minOccurs="0" name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" />
+          <xs:element minOccurs="0" name="InternetMessageHeaders" type="t:NonEmptyArrayOfInternetHeadersType" />
+          <xs:element minOccurs="0" name="Sender" type="t:SingleRecipientType" />
+          <xs:element minOccurs="0" name="ToRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="CcRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="BccRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="IsReadReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsDeliveryReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="ReferenceItemId" type="t:ItemIdType" />
+        </xs:sequence>
+        <xs:attribute name="ObjectName" type="xs:string" use="prohibited" />
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SmartResponseBaseType">
+    <xs:complexContent mixed="false">
+      <xs:restriction base="t:ResponseObjectType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Subject" type="xs:string" />
+          <xs:element minOccurs="0" name="Body" type="t:BodyType" />
+          <xs:element minOccurs="0" name="ToRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="CcRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="BccRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="IsReadReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsDeliveryReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="ReferenceItemId" type="t:ItemIdType" />
+        </xs:sequence>
+        <xs:attribute name="ObjectName" type="xs:string" use="prohibited" />
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SmartResponseType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SmartResponseBaseType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="NewBodyContent" type="t:BodyType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ReplyToItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SmartResponseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ReplyAllToItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SmartResponseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ForwardItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SmartResponseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="CancelCalendarItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SmartResponseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ReferenceItemResponseType">
+    <xs:complexContent mixed="false">
+      <xs:restriction base="t:ResponseObjectType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ReferenceItemId" type="t:ItemIdType" />
+        </xs:sequence>
+        <xs:attribute name="ObjectName" type="xs:string" use="prohibited" />
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="SuppressReadReceiptType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ReferenceItemResponseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <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>
+  <xs:complexType name="ItemType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="MimeContent" type="t:MimeContentType" />
+      <xs:element minOccurs="0" name="ItemId" type="t:ItemIdType" />
+      <xs:element minOccurs="0" name="ParentFolderId" type="t:FolderIdType" />
+      <xs:element minOccurs="0" name="ItemClass" type="t:ItemClassType" />
+      <xs:element minOccurs="0" name="Subject" type="xs:string" />
+      <xs:element minOccurs="0" name="Sensitivity" type="t:SensitivityChoicesType" />
+      <xs:element minOccurs="0" name="Body" type="t:BodyType" />
+      <xs:element minOccurs="0" name="Attachments" type="t:NonEmptyArrayOfAttachmentsType" />
+      <xs:element minOccurs="0" name="DateTimeReceived" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="Size" type="xs:int" />
+      <xs:element minOccurs="0" name="Categories" type="t:ArrayOfStringsType" />
+      <xs:element minOccurs="0" name="Importance" type="t:ImportanceChoicesType" />
+      <xs:element minOccurs="0" name="InReplyTo" type="xs:string" />
+      <xs:element minOccurs="0" name="IsSubmitted" type="xs:boolean" />
+      <xs:element minOccurs="0" name="IsDraft" type="xs:boolean" />
+      <xs:element minOccurs="0" name="IsFromMe" type="xs:boolean" />
+      <xs:element minOccurs="0" name="IsResend" type="xs:boolean" />
+      <xs:element minOccurs="0" name="IsUnmodified" type="xs:boolean" />
+      <xs:element minOccurs="0" name="InternetMessageHeaders" type="t:NonEmptyArrayOfInternetHeadersType" />
+      <xs:element minOccurs="0" name="DateTimeSent" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="DateTimeCreated" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="ResponseObjects" type="t:NonEmptyArrayOfResponseObjectsType" />
+      <xs:element minOccurs="0" name="ReminderDueBy" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="ReminderIsSet" type="xs:boolean" />
+      <xs:element minOccurs="0" name="ReminderMinutesBeforeStart" type="t:ReminderMinutesBeforeStartType" />
+      <xs:element minOccurs="0" name="DisplayCc" type="xs:string" />
+      <xs:element minOccurs="0" name="DisplayTo" type="xs:string" />
+      <xs:element minOccurs="0" name="HasAttachments" type="xs:boolean" />
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedProperty" type="t:ExtendedPropertyType" />
+      <xs:element minOccurs="0" name="Culture" type="xs:language" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ArrayOfStringsType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="String" type="xs:string" />
+    </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: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="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:choice>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="AcceptItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:WellKnownResponseObjectType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="TentativelyAcceptItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:WellKnownResponseObjectType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DeclineItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:WellKnownResponseObjectType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="RemoveItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ResponseObjectType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <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>
+  <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>
+  <xs:complexType name="MessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ItemType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Sender" type="t:SingleRecipientType" />
+          <xs:element minOccurs="0" name="ToRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="CcRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="BccRecipients" type="t:ArrayOfRecipientsType" />
+          <xs:element minOccurs="0" name="IsReadReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsDeliveryReceiptRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="ConversationIndex" type="xs:base64Binary" />
+          <xs:element minOccurs="0" name="ConversationTopic" type="xs:string" />
+          <xs:element minOccurs="0" name="From" type="t:SingleRecipientType" />
+          <xs:element minOccurs="0" name="InternetMessageId" type="xs:string" />
+          <xs:element minOccurs="0" name="IsRead" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsResponseRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="References" type="xs:string" />
+          <xs:element minOccurs="0" name="ReplyTo" type="t:ArrayOfRecipientsType" />
+        </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 mixed="false">
+      <xs:extension base="t:ItemType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ActualWork" type="xs:int" />
+          <xs:element minOccurs="0" name="AssignedTime" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="BillingInformation" type="xs:string" />
+          <xs:element minOccurs="0" name="ChangeCount" type="xs:int" />
+          <xs:element minOccurs="0" name="Companies" type="t:ArrayOfStringsType" />
+          <xs:element minOccurs="0" name="CompleteDate" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Contacts" type="t:ArrayOfStringsType" />
+          <xs:element minOccurs="0" name="DelegationState" type="t:TaskDelegateStateType" />
+          <xs:element minOccurs="0" name="Delegator" type="xs:string" />
+          <xs:element minOccurs="0" name="DueDate" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="IsAssignmentEditable" type="xs:int" />
+          <xs:element minOccurs="0" name="IsComplete" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsRecurring" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsTeamTask" type="xs:boolean" />
+          <xs:element minOccurs="0" name="Mileage" type="xs:string" />
+          <xs:element minOccurs="0" name="Owner" type="xs:string" />
+          <xs:element minOccurs="0" name="PercentComplete" type="xs:double" />
+          <xs:element minOccurs="0" name="Recurrence" type="t:TaskRecurrenceType" />
+          <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Status" type="t:TaskStatusType" />
+          <xs:element minOccurs="0" name="StatusDescription" type="xs:string" />
+          <xs:element minOccurs="0" name="TotalWork" type="xs:int" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="BasePagingType" abstract="true">
+    <xs:attribute name="MaxEntriesReturned" type="xs:int" />
+  </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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:BasePagingType">
+        <xs:attribute name="InitialName" type="xs:string" />
+        <xs:attribute name="FinalName" type="xs:string" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="ResolutionType">
+    <xs:sequence>
+      <xs:element name="Mailbox" type="t:EmailAddressType" />
+      <xs:element minOccurs="0" name="Contact" type="t:ContactItemType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ArrayOfResolutionType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="100" name="Resolution" type="t:ResolutionType" />
+    </xs:sequence>
+    <xs:attributeGroup ref="t:FindResponsePagingAttributes" />
+  </xs:complexType>
+  <xs:complexType name="ArrayOfDLExpansionType">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="Mailbox" type="t:EmailAddressType" />
+    </xs:sequence>
+    <xs:attributeGroup ref="t:FindResponsePagingAttributes" />
+  </xs:complexType>
+  <xs:simpleType name="MeetingRequestTypeType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="FullUpdate" />
+      <xs:enumeration value="InformationalUpdate" />
+      <xs:enumeration value="NewMeetingRequest" />
+      <xs:enumeration value="Outdated" />
+      <xs:enumeration value="SilentUpdate" />
+    </xs:restriction>
+  </xs:simpleType>
+  <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>
+  <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>
+  <xs:complexType name="AttendeeType">
+    <xs:sequence>
+      <xs:element name="Mailbox" type="t:EmailAddressType" />
+      <xs:element minOccurs="0" name="ResponseType" type="t:ResponseTypeType" />
+      <xs:element minOccurs="0" name="LastResponseTime" type="xs:dateTime" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="NonEmptyArrayOfAttendeesType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Attendee" type="t:AttendeeType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="OccurrenceItemIdType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <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>
+  <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>
+  <xs:complexType name="RecurrencePatternBaseType" abstract="true" />
+  <xs:complexType name="IntervalRecurrencePatternBaseType" abstract="true">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:RecurrencePatternBaseType">
+        <xs:sequence>
+          <xs:element name="Interval" type="xs:int" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="RegeneratingPatternBaseType" abstract="true">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:IntervalRecurrencePatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DailyRegeneratingPatternType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:RegeneratingPatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="WeeklyRegeneratingPatternType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:RegeneratingPatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MonthlyRegeneratingPatternType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:RegeneratingPatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="YearlyRegeneratingPatternType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:RegeneratingPatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="RelativeYearlyRecurrencePatternType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:IntervalRecurrencePatternBaseType">
+        <xs:sequence>
+          <xs:element name="DaysOfWeek" type="t:DaysOfWeekType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DailyRecurrencePatternType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:IntervalRecurrencePatternBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <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 minOccurs="0" ref="t:TimeChangePatternTypes" />
+      <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>
+      <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>
+  <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 mixed="false">
+      <xs:extension base="t:RecurrenceRangeBaseType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="EndDateRecurrenceRangeType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:RecurrenceRangeBaseType">
+        <xs:sequence>
+          <xs:element name="NumberOfOccurrences" type="xs:int" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <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>
+  <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 maxOccurs="unbounded" name="Occurrence" type="t:OccurrenceInfoType" />
+    </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 maxOccurs="unbounded" name="DeletedOccurrence" type="t:DeletedOccurrenceInfoType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="CalendarItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ItemType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Start" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="End" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="OriginalStart" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="IsAllDayEvent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" />
+          <xs:element minOccurs="0" name="Location" type="xs:string" />
+          <xs:element minOccurs="0" name="When" type="xs:string" />
+          <xs:element minOccurs="0" name="IsMeeting" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsCancelled" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsRecurring" type="xs:boolean" />
+          <xs:element minOccurs="0" name="MeetingRequestWasSent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsResponseRequested" type="xs:boolean" />
+          <xs:element minOccurs="0" name="CalendarItemType" type="t:CalendarItemTypeType" />
+          <xs:element minOccurs="0" name="MyResponseType" type="t:ResponseTypeType" />
+          <xs:element minOccurs="0" name="Organizer" type="t:SingleRecipientType" />
+          <xs:element minOccurs="0" name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="Resources" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="ConflictingMeetingCount" type="xs:int" />
+          <xs:element minOccurs="0" name="AdjacentMeetingCount" type="xs:int" />
+          <xs:element minOccurs="0" name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" />
+          <xs:element minOccurs="0" name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" />
+          <xs:element minOccurs="0" name="Duration" type="xs:string" />
+          <xs:element minOccurs="0" name="TimeZone" type="xs:string" />
+          <xs:element minOccurs="0" name="AppointmentReplyTime" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="AppointmentSequenceNumber" type="xs:int" />
+          <xs:element minOccurs="0" name="AppointmentState" type="xs:int" />
+          <xs:element minOccurs="0" name="Recurrence" type="t:RecurrenceType" />
+          <xs:element minOccurs="0" name="FirstOccurrence" type="t:OccurrenceInfoType" />
+          <xs:element minOccurs="0" name="LastOccurrence" type="t:OccurrenceInfoType" />
+          <xs:element minOccurs="0" name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" />
+          <xs:element minOccurs="0" name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" />
+          <xs:element minOccurs="0" name="MeetingTimeZone" type="t:TimeZoneType" />
+          <xs:element minOccurs="0" name="ConferenceType" type="xs:int" />
+          <xs:element minOccurs="0" name="AllowNewTimeProposal" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsOnlineMeeting" type="xs:boolean" />
+          <xs:element minOccurs="0" name="MeetingWorkspaceUrl" type="xs:string" />
+          <xs:element minOccurs="0" name="NetShowUrl" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeetingMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="AssociatedCalendarItemId" type="t:ItemIdType" />
+          <xs:element minOccurs="0" name="IsDelegated" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsOutOfDate" type="xs:boolean" />
+          <xs:element minOccurs="0" name="HasBeenProcessed" type="xs:boolean" />
+          <xs:element minOccurs="0" name="ResponseType" type="t:ResponseTypeType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeetingRequestMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MeetingMessageType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="MeetingRequestType" type="t:MeetingRequestTypeType" />
+          <xs:element minOccurs="0" name="IntendedFreeBusyStatus" type="t:LegacyFreeBusyType" />
+          <xs:element minOccurs="0" name="Start" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="End" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="OriginalStart" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="IsAllDayEvent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="LegacyFreeBusyStatus" type="t:LegacyFreeBusyType" />
+          <xs:element minOccurs="0" name="Location" type="xs:string" />
+          <xs:element minOccurs="0" name="When" type="xs:string" />
+          <xs:element minOccurs="0" name="IsMeeting" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsCancelled" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsRecurring" type="xs:boolean" />
+          <xs:element minOccurs="0" name="MeetingRequestWasSent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="CalendarItemType" type="t:CalendarItemTypeType" />
+          <xs:element minOccurs="0" name="MyResponseType" type="t:ResponseTypeType" />
+          <xs:element minOccurs="0" name="Organizer" type="t:SingleRecipientType" />
+          <xs:element minOccurs="0" name="RequiredAttendees" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="OptionalAttendees" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="Resources" type="t:NonEmptyArrayOfAttendeesType" />
+          <xs:element minOccurs="0" name="ConflictingMeetingCount" type="xs:int" />
+          <xs:element minOccurs="0" name="AdjacentMeetingCount" type="xs:int" />
+          <xs:element minOccurs="0" name="ConflictingMeetings" type="t:NonEmptyArrayOfAllItemsType" />
+          <xs:element minOccurs="0" name="AdjacentMeetings" type="t:NonEmptyArrayOfAllItemsType" />
+          <xs:element minOccurs="0" name="Duration" type="xs:string" />
+          <xs:element minOccurs="0" name="TimeZone" type="xs:string" />
+          <xs:element minOccurs="0" name="AppointmentReplyTime" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="AppointmentSequenceNumber" type="xs:int" />
+          <xs:element minOccurs="0" name="AppointmentState" type="xs:int" />
+          <xs:element minOccurs="0" name="Recurrence" type="t:RecurrenceType" />
+          <xs:element minOccurs="0" name="FirstOccurrence" type="t:OccurrenceInfoType" />
+          <xs:element minOccurs="0" name="LastOccurrence" type="t:OccurrenceInfoType" />
+          <xs:element minOccurs="0" name="ModifiedOccurrences" type="t:NonEmptyArrayOfOccurrenceInfoType" />
+          <xs:element minOccurs="0" name="DeletedOccurrences" type="t:NonEmptyArrayOfDeletedOccurrencesType" />
+          <xs:element minOccurs="0" name="MeetingTimeZone" type="t:TimeZoneType" />
+          <xs:element minOccurs="0" name="ConferenceType" type="xs:int" />
+          <xs:element minOccurs="0" name="AllowNewTimeProposal" type="xs:boolean" />
+          <xs:element minOccurs="0" name="IsOnlineMeeting" type="xs:boolean" />
+          <xs:element minOccurs="0" name="MeetingWorkspaceUrl" type="xs:string" />
+          <xs:element minOccurs="0" name="NetShowUrl" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeetingResponseMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MeetingMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MeetingCancellationMessageType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MeetingMessageType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <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:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ContactSourceType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="ActiveDirectory" />
+      <xs:enumeration value="Store" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="CompleteNameType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Title" type="xs:string" />
+      <xs:element minOccurs="0" name="FirstName" type="xs:string" />
+      <xs:element minOccurs="0" name="MiddleName" type="xs:string" />
+      <xs:element minOccurs="0" name="LastName" type="xs:string" />
+      <xs:element minOccurs="0" name="Suffix" type="xs:string" />
+      <xs:element minOccurs="0" name="Initials" type="xs:string" />
+      <xs:element minOccurs="0" name="FullName" type="xs:string" />
+      <xs:element minOccurs="0" name="Nickname" type="xs:string" />
+      <xs:element minOccurs="0" name="YomiFirstName" type="xs:string" />
+      <xs:element minOccurs="0" name="YomiLastName" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <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: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 minOccurs="0" name="Street" type="xs:string" />
+      <xs:element minOccurs="0" name="City" type="xs:string" />
+      <xs:element minOccurs="0" name="State" type="xs:string" />
+      <xs:element minOccurs="0" name="CountryOrRegion" type="xs:string" />
+      <xs:element minOccurs="0" name="PostalCode" type="xs:string" />
+    </xs:sequence>
+    <xs:attribute name="Key" type="t:PhysicalAddressKeyType" use="required" />
+  </xs:complexType>
+  <xs:complexType name="ImAddressDictionaryType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Entry" type="t:ImAddressDictionaryEntryType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="EmailAddressDictionaryType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Entry" type="t:EmailAddressDictionaryEntryType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="PhoneNumberDictionaryType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Entry" type="t:PhoneNumberDictionaryEntryType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="PhysicalAddressDictionaryType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Entry" type="t:PhysicalAddressDictionaryEntryType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="ContactItemType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ItemType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="FileAs" type="xs:string" />
+          <xs:element minOccurs="0" name="FileAsMapping" type="t:FileAsMappingType" />
+          <xs:element minOccurs="0" name="DisplayName" type="xs:string" />
+          <xs:element minOccurs="0" name="GivenName" type="xs:string" />
+          <xs:element minOccurs="0" name="Initials" type="xs:string" />
+          <xs:element minOccurs="0" name="MiddleName" type="xs:string" />
+          <xs:element minOccurs="0" name="Nickname" type="xs:string" />
+          <xs:element minOccurs="0" name="CompleteName" type="t:CompleteNameType" />
+          <xs:element minOccurs="0" name="CompanyName" type="xs:string" />
+          <xs:element minOccurs="0" name="EmailAddresses" type="t:EmailAddressDictionaryType" />
+          <xs:element minOccurs="0" name="PhysicalAddresses" type="t:PhysicalAddressDictionaryType" />
+          <xs:element minOccurs="0" name="PhoneNumbers" type="t:PhoneNumberDictionaryType" />
+          <xs:element minOccurs="0" name="AssistantName" type="xs:string" />
+          <xs:element minOccurs="0" name="Birthday" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="BusinessHomePage" type="xs:anyURI" />
+          <xs:element minOccurs="0" name="Children" type="t:ArrayOfStringsType" />
+          <xs:element minOccurs="0" name="Companies" type="t:ArrayOfStringsType" />
+          <xs:element minOccurs="0" name="ContactSource" type="t:ContactSourceType" />
+          <xs:element minOccurs="0" name="Department" type="xs:string" />
+          <xs:element minOccurs="0" name="Generation" type="xs:string" />
+          <xs:element minOccurs="0" name="ImAddresses" type="t:ImAddressDictionaryType" />
+          <xs:element minOccurs="0" name="JobTitle" type="xs:string" />
+          <xs:element minOccurs="0" name="Manager" type="xs:string" />
+          <xs:element minOccurs="0" name="Mileage" type="xs:string" />
+          <xs:element minOccurs="0" name="OfficeLocation" type="xs:string" />
+          <xs:element minOccurs="0" name="PostalAddressIndex" type="t:PhysicalAddressIndexType" />
+          <xs:element minOccurs="0" name="Profession" type="xs:string" />
+          <xs:element minOccurs="0" name="SpouseName" type="xs:string" />
+          <xs:element minOccurs="0" name="Surname" type="xs:string" />
+          <xs:element minOccurs="0" name="WeddingAnniversary" type="xs:dateTime" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="DistributionListType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:ItemType">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="DisplayName" type="xs:string" />
+          <xs:element minOccurs="0" name="FileAs" type="xs:string" />
+          <xs:element minOccurs="0" name="ContactSource" type="t:ContactSourceType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <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" />
+  </xs:complexType>
+  <xs:complexType name="ConstantValueType">
+    <xs:attribute name="Value" type="xs:string" />
+  </xs:complexType>
+  <xs:complexType name="SearchExpressionType" abstract="true" />
+  <xs:element name="SearchExpression" type="t:SearchExpressionType" />
+  <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>
+      <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 mixed="false">
+      <xs:extension base="t:BaseGroupByType">
+        <xs:sequence>
+          <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 mixed="false">
+      <xs:extension base="t:BaseGroupByType">
+        <xs:sequence>
+          <xs:element name="StandardGroupBy" type="t:StandardGroupByType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <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 minOccurs="0" maxOccurs="unbounded" name="GroupedItems" type="t:GroupedItemsType" />
+    </xs:choice>
+  </xs:complexType>
+  <xs:complexType name="ExistsType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SearchExpressionType">
+        <xs:sequence>
+          <xs:element ref="t:Path" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Exists" substitutionGroup="t:SearchExpression" type="t:ExistsType" />
+  <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 mixed="false">
+      <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>
+  <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" />
+  </xs:complexType>
+  <xs:complexType name="ExcludesType">
+    <xs:complexContent mixed="false">
+      <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" substitutionGroup="t:SearchExpression" type="t:ExcludesType" />
+  <xs:complexType name="IsEqualToType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsEqualTo" substitutionGroup="t:SearchExpression" type="t:IsEqualToType" />
+  <xs:complexType name="IsNotEqualToType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsNotEqualTo" substitutionGroup="t:SearchExpression" type="t:IsNotEqualToType" />
+  <xs:complexType name="IsGreaterThanType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsGreaterThan" substitutionGroup="t:SearchExpression" type="t:IsGreaterThanType" />
+  <xs:complexType name="IsGreaterThanOrEqualToType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsGreaterThanOrEqualTo" substitutionGroup="t:SearchExpression" type="t:IsGreaterThanOrEqualToType" />
+  <xs:complexType name="IsLessThanType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsLessThan" substitutionGroup="t:SearchExpression" type="t:IsLessThanType" />
+  <xs:complexType name="IsLessThanOrEqualToType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:TwoOperandExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="IsLessThanOrEqualTo" substitutionGroup="t:SearchExpression" type="t:IsLessThanOrEqualToType" />
+  <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 mixed="false">
+      <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" />
+        <xs:attribute name="ContainmentComparison" type="t:ContainmentComparisonType" />
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Contains" substitutionGroup="t:SearchExpression" type="t:ContainsExpressionType" />
+  <xs:complexType name="NotType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SearchExpressionType">
+        <xs:sequence>
+          <xs:element ref="t:SearchExpression" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Not" substitutionGroup="t:SearchExpression" type="t:NotType" />
+  <xs:complexType name="MultipleOperandBooleanExpressionType" abstract="true">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:SearchExpressionType">
+        <xs:sequence>
+          <xs:element minOccurs="2" maxOccurs="unbounded" ref="t:SearchExpression" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="AndType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MultipleOperandBooleanExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="And" substitutionGroup="t:SearchExpression" type="t:AndType" />
+  <xs:complexType name="OrType">
+    <xs:complexContent mixed="false">
+      <xs:extension base="t:MultipleOperandBooleanExpressionType" />
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="Or" substitutionGroup="t:SearchExpression" type="t:OrType" />
+  <xs:complexType name="RestrictionType">
+    <xs:sequence>
+      <xs:element ref="t:SearchExpression" />
+    </xs:sequence>
+  </xs:complexType>
+  <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 maxOccurs="unbounded" name="FieldOrder" type="t:FieldOrderType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="NonEmptyArrayOfFolderNamesType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="FolderName" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <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" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="BaseObjectChangedEventType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:BaseObjectChangedEventType">
+        <xs:sequence>
+          <xs:element minOccurs="0" maxOccurs="1" name="UnreadCount" type="xs:int" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:complexType name="MovedCopiedEventType">
+    <xs:complexContent mixed="false">
+      <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" />
+      <xs:element name="MoreEvents" type="xs:boolean" />
+      <xs:choice minOccurs="1" maxOccurs="unbounded">
+        <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: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:restriction>
+  </xs:simpleType>
+  <xs:complexType name="NonEmptyArrayOfNotificationEventTypesType">
+    <xs:choice minOccurs="1" maxOccurs="unbounded">
+      <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" />
+      <xs:element name="EventTypes" type="t:NonEmptyArrayOfNotificationEventTypesType" />
+      <xs:element minOccurs="0" name="Watermark" type="t:WatermarkType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="PushSubscriptionRequestType">
+    <xs:complexContent mixed="false">
+      <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 mixed="false">
+      <xs:extension base="t:BaseSubscriptionRequestType">
+        <xs:sequence>
+          <xs:element name="Timeout" type="t:SubscriptionTimeoutType" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </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="SyncFolderItemsDeleteType">
+    <xs:sequence>
+      <xs:element name="ItemId" type="t:ItemIdType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="SyncFolderItemsChangesType">
+    <xs:sequence>
+      <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:element name="Create" type="t:SyncFolderItemsCreateOrUpdateType" />
+        <xs:element name="Update" type="t:SyncFolderItemsCreateOrUpdateType" />
+        <xs:element name="Delete" type="t:SyncFolderItemsDeleteType" />
+      </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 minOccurs="0" maxOccurs="unbounded">
+        <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="AvailabilityProxyRequestType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="CrossSite" />
+      <xs:enumeration value="CrossForest" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="ProxyRequestTypeHeader" type="t:AvailabilityProxyRequestType" />
+  <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: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>
+  <xs:complexType name="ArrayOfSuggestionDayResult">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="SuggestionDayResult" type="t:SuggestionDayResult" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="OofState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Disabled" />
+      <xs:enumeration value="Enabled" />
+      <xs:enumeration value="Scheduled" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="ExternalAudience">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="None" />
+      <xs:enumeration value="Known" />
+      <xs:enumeration value="All" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:complexType name="ReplyBody">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="1" name="Message" type="xs:string" />
+    </xs:sequence>
+    <xs:attribute ref="xml:lang" use="optional" />
+  </xs:complexType>
+  <xs:complexType name="UserOofSettings">
+    <xs:sequence>
+      <xs:element minOccurs="1" maxOccurs="1" name="OofState" type="t:OofState" />
+      <xs:element minOccurs="1" maxOccurs="1" name="ExternalAudience" type="t:ExternalAudience" />
+      <xs:element minOccurs="0" maxOccurs="1" name="Duration" type="t:Duration" />
+      <xs:element minOccurs="0" maxOccurs="1" name="InternalReply" type="t:ReplyBody" />
+      <xs:element minOccurs="0" maxOccurs="1" name="ExternalReply" type="t:ReplyBody" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="OofSettings" type="t:UserOofSettings" />
+  <xs:element name="UserOofSettings" type="t:UserOofSettings" />
+  <xs:complexType name="Value">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="Name" type="xs:string" use="required" />
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+</xs:schema>

Added: trunk/exchangews/wsdlbindings/custom-binding.xml
===================================================================
--- trunk/exchangews/wsdlbindings/custom-binding.xml	                        (rev 0)
+++ trunk/exchangews/wsdlbindings/custom-binding.xml	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+          wsdlLocation="../wssvc.wsdl"
+          xmlns="http://java.sun.com/xml/ns/jaxws">
+  <!-- Disable default wrapper style -->
+  <enableWrapperStyle>false</enableWrapperStyle>
+</bindings>
\ No newline at end of file

Added: trunk/exchangews/wsdlbindings/simplebinding.xml
===================================================================
--- trunk/exchangews/wsdlbindings/simplebinding.xml	                        (rev 0)
+++ trunk/exchangews/wsdlbindings/simplebinding.xml	2011-02-18 03:41:14 UTC (rev 2)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jaxb:bindings xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
+               jaxb:version="2.0"
+               xmlns:xjc= "http://java.sun.com/xml/ns/jaxb/xjc" 
+               jaxb:extensionBindingPrefixes="xjc">
+  <jaxb:globalBindings>
+    <xjc:simple />
+  </jaxb:globalBindings>
+</jaxb:bindings>


Property changes on: trunk/exsynchws/gensrc
___________________________________________________________________
Name: svn:ignore
   + src



Property changes on: trunk/timezones/gensrc
___________________________________________________________________
Name: svn:ignore
   + src




More information about the Bedework-commit mailing list