6 Appendix A: Full WSDL

For ease of implementation, the full WSDL is provided in this appendix.

 <?xml version="1.0" encoding="UTF-8"?>
 <wsdl:definitions xmlns:tns="http://schemas.microsoft.com/exchange/services/2006/messages" 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>
     <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/exchange/services/2006/messages" version="Exchange2015" id="messages" xmlns:xs="http://www.w3.org/2001/XMLSchema">
       <xs:include schemaLocation="MS-OXWSCOS-messages.xsd"/>
     </xs:schema>
   </wsdl:types>
   <wsdl:portType name="ExchangeServicePortType">
     <wsdl:operation name="AddDistributionGroupToImList">
       <wsdl:input message="tns:AddDistributionGroupToImListSoapIn"/>
       <wsdl:output message="tns:AddDistributionGroupToImListSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="AddImContactToGroup">
       <wsdl:input message="tns:AddImContactToGroupSoapIn"/>
       <wsdl:output message="tns:AddImContactToGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="AddImGroup">
       <wsdl:input message="tns:AddImGroupSoapIn"/>
       <wsdl:output message="tns:AddImGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="AddNewImContactToGroup">
       <wsdl:input message="tns:AddNewImContactToGroupSoapIn"/>
       <wsdl:output message="tns:AddNewImContactToGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="AddNewTelUriContactToGroup">
       <wsdl:input message="tns:AddNewTelUriContactToGroupSoapIn"/>
       <wsdl:output message="tns:AddNewTelUriContactToGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="GetImItemList">
       <wsdl:input message="tns:GetImItemListSoapIn"/>
       <wsdl:output message="tns:GetImItemListSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="GetImItems">
       <wsdl:input message="tns:GetImItemsSoapIn"/>
       <wsdl:output message="tns:GetImItemsSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="RemoveContactFromImList">
       <wsdl:input message="tns:RemoveContactFromImListSoapIn"/>
       <wsdl:output message="tns:RemoveContactFromImListSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="RemoveDistributionGroupFromImList">
       <wsdl:input message="tns:RemoveDistributionGroupFromImListSoapIn"/>
       <wsdl:output message="tns:RemoveDistributionGroupFromImListSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="RemoveImContactFromGroup">
       <wsdl:input message="tns:RemoveImContactFromGroupSoapIn"/>
       <wsdl:output message="tns:RemoveImContactFromGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="RemoveImGroup">
       <wsdl:input message="tns:RemoveImGroupSoapIn"/>
       <wsdl:output message="tns:RemoveImGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="SetImGroup">
       <wsdl:input message="tns:SetImGroupSoapIn"/>
       <wsdl:output message="tns:SetImGroupSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="SetImListMigrationCompleted">
       <wsdl:input message="tns:SetImListMigrationCompletedSoapIn"/>
       <wsdl:output message="tns:SetImListMigrationCompletedSoapOut"/>
     </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="AddDistributionGroupToImList">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddDistributionGroupToImList"/>
       <wsdl:input>
         <soap:header message="tns:AddDistributionGroupToImListSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:AddDistributionGroupToImListSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:AddDistributionGroupToImListSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="AddDistributionGroupToImListResult"/>
         <soap:header message="tns:AddDistributionGroupToImListSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="AddImContactToGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddImContactToGroup"/>
       <wsdl:input>
         <soap:header message="tns:AddImContactToGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:AddImContactToGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:AddImContactToGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="AddImContactToGroupResult"/>
         <soap:header message="tns:AddImContactToGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="AddImGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddImGroup"/>
       <wsdl:input>
         <soap:header message="tns:AddImGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:AddImGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:AddImGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="AddImGroupResult"/>
         <soap:header message="tns:AddImGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="AddNewImContactToGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddNewImContactToGroup"/>
       <wsdl:input>
         <soap:header message="tns:AddNewImContactToGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:AddNewImContactToGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:AddNewImContactToGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="AddNewImContactToGroupResult"/>
         <soap:header message="tns:AddNewImContactToGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="AddNewTelUriContactToGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/AddNewTelUriContactToGroup"/>
       <wsdl:input>
         <soap:header message="tns:AddNewTelUriContactToGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:AddNewTelUriContactToGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:AddNewTelUriContactToGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="AddNewTelUriContactToGroupResult"/>
         <soap:header message="tns:AddNewTelUriContactToGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetImItemList">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetImItemList"/>
       <wsdl:input>
         <soap:header message="tns:GetImItemListSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:GetImItemListSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:GetImItemListSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="GetImItemListResult"/>
         <soap:header message="tns:GetImItemListSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetImItems">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/GetImItems"/>
       <wsdl:input>
         <soap:header message="tns:GetImItemsSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:GetImItemsSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:GetImItemsSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="GetImItemsResult"/>
         <soap:header message="tns:GetImItemsSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="RemoveContactFromImList">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RemoveContactFromImList"/>
       <wsdl:input>
         <soap:header message="tns:RemoveContactFromImListSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:RemoveContactFromImListSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:RemoveContactFromImListSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="RemoveContactFromImListResult"/>
         <soap:header message="tns:RemoveContactFromImListSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="RemoveDistributionGroupFromImList">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RemoveDistributionGroupFromImList"/>
       <wsdl:input>
         <soap:header message="tns:RemoveDistributionGroupFromImListSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:RemoveDistributionGroupFromImListSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:RemoveDistributionGroupFromImListSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="RemoveDistributionGroupFromImListResult"/>
         <soap:header message="tns:RemoveDistributionGroupFromImListSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="RemoveImContactFromGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RemoveImContactFromGroup"/>
       <wsdl:input>
         <soap:header message="tns:RemoveImContactFromGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:RemoveImContactFromGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:RemoveImContactFromGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="RemoveImContactFromGroupResult"/>
         <soap:header message="tns:RemoveImContactFromGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="RemoveImGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/RemoveImGroup"/>
       <wsdl:input>
         <soap:header message="tns:RemoveImGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:RemoveImGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:RemoveImGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="RemoveImGroupResult"/>
         <soap:header message="tns:RemoveImGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetImGroup">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SetImGroup"/>
       <wsdl:input>
         <soap:header message="tns:SetImGroupSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:SetImGroupSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:SetImGroupSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="SetImGroupResult"/>
         <soap:header message="tns:SetImGroupSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetImListMigrationCompleted">
       <soap:operation soapAction="http://schemas.microsoft.com/exchange/services/2006/messages/SetImListMigrationCompleted"/>
       <wsdl:input>
         <soap:header message="tns:SetImListMigrationCompletedSoapIn" part="Impersonation" use="literal"/>
         <soap:header message="tns:SetImListMigrationCompletedSoapIn" part="MailboxCulture" use="literal"/>
         <soap:header message="tns:SetImListMigrationCompletedSoapIn" part="RequestVersion" use="literal"/>
         <soap:body use="literal" parts="request"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" parts="SetImListMigrationCompletedResult"/>
         <soap:header message="tns:SetImListMigrationCompletedSoapOut" part="ServerVersion" use="literal"/>
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
   <wsdl:message name="AddDistributionGroupToImListSoapIn">
     <wsdl:part name="request" element="tns:AddDistributionGroupToImList"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="AddDistributionGroupToImListSoapOut">
     <wsdl:part name="AddDistributionGroupToImListResult" element="tns:AddDistributionGroupToImListResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="AddImContactToGroupSoapIn">
     <wsdl:part name="request" element="tns:AddImContactToGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="AddImContactToGroupSoapOut">
     <wsdl:part name="AddImContactToGroupResult" element="tns:AddImContactToGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="AddImGroupSoapIn">
     <wsdl:part name="request" element="tns:AddImGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="AddImGroupSoapOut">
     <wsdl:part name="AddImGroupResult" element="tns:AddImGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="AddNewImContactToGroupSoapIn">
     <wsdl:part name="request" element="tns:AddNewImContactToGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="AddNewImContactToGroupSoapOut">
     <wsdl:part name="AddNewImContactToGroupResult" element="tns:AddNewImContactToGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="AddNewTelUriContactToGroupSoapIn">
     <wsdl:part name="request" element="tns:AddNewTelUriContactToGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="AddNewTelUriContactToGroupSoapOut">
     <wsdl:part name="AddNewTelUriContactToGroupResult" element="tns:AddNewTelUriContactToGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="GetImItemListSoapIn">
     <wsdl:part name="request" element="tns:GetImItemList"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="GetImItemListSoapOut">
     <wsdl:part name="GetImItemListResult" element="tns:GetImItemListResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="GetImItemsSoapIn">
     <wsdl:part name="request" element="tns:GetImItems"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="GetImItemsSoapOut">
     <wsdl:part name="GetImItemsResult" element="tns:GetImItemsResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="RemoveContactFromImListSoapIn">
     <wsdl:part name="request" element="tns:RemoveContactFromImList"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="RemoveContactFromImListSoapOut">
     <wsdl:part name="RemoveContactFromImListResult" element="tns:RemoveContactFromImListResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="RemoveDistributionGroupFromImListSoapIn">
     <wsdl:part name="request" element="tns:RemoveDistributionGroupFromImList"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="RemoveDistributionGroupFromImListSoapOut">
     <wsdl:part name="RemoveDistributionGroupFromImListResult" element="tns:RemoveDistributionGroupFromImListResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="RemoveImContactFromGroupSoapIn">
     <wsdl:part name="request" element="tns:RemoveImContactFromGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="RemoveImContactFromGroupSoapOut">
     <wsdl:part name="RemoveImContactFromGroupResult" element="tns:RemoveImContactFromGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="RemoveImGroupSoapIn">
     <wsdl:part name="request" element="tns:RemoveImGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="RemoveImGroupSoapOut">
     <wsdl:part name="RemoveImGroupResult" element="tns:RemoveImGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="SetImGroupSoapIn">
     <wsdl:part name="request" element="tns:SetImGroup"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="SetImGroupSoapOut">
     <wsdl:part name="SetImGroupResult" element="tns:SetImGroupResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
   <wsdl:message name="SetImListMigrationCompletedSoapIn">
     <wsdl:part name="request" element="tns:SetImListMigrationCompleted"/>
     <wsdl:part name="Impersonation" element="t:ExchangeImpersonation"/>
     <wsdl:part name="MailboxCulture" element="t:MailboxCulture"/>
     <wsdl:part name="RequestVersion" element="t:RequestServerVersion"/>
   </wsdl:message>
   <wsdl:message name="SetImListMigrationCompletedSoapOut">
     <wsdl:part name="SetImListMigrationCompletedResult" element="tns:SetImListMigrationCompletedResponse"/>
     <wsdl:part name="ServerVersion" element="t:ServerVersionInfo"/>
   </wsdl:message>
 </wsdl:definitions>