6 Appendix A: Full WSDL

For ease of implementation, the full WSDL is provided:

 <?xml version="1.0" encoding="utf-8"?>
 <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://schemas.microsoft.com/server/powerpoint/2009/main" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://schemas.microsoft.com/server/powerpoint/2009/main" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:types>
     <s:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/server/powerpoint/2009/main">
       <s:element name="BroadcastStartSession">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="hostToken" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="BroadcastStartSessionResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="BroadcastStartSessionResult" type="tns:ServiceResult" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:complexType name="ServiceResult">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="Result" />
           <s:element minOccurs="0" maxOccurs="1" name="Error" type="tns:ServiceError" />
         </s:sequence>
       </s:complexType>
       <s:complexType name="ServiceError">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
           <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
           <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:ServiceErrorType" />
           <s:element minOccurs="1" maxOccurs="1" name="RecommendedActions" type="tns:ClientActions" />
         </s:sequence>
       </s:complexType>
       <s:simpleType name="ServiceErrorType">
         <s:restriction base="s:string">
           <s:enumeration value="UnknownError" />
           <s:enumeration value="ApplicationError" />
           <s:enumeration value="Timeout" />
         </s:restriction>
       </s:simpleType>
       <s:simpleType name="ClientActions">
         <s:list>
           <s:simpleType>
             <s:restriction base="s:string">
               <s:enumeration value="None" />
               <s:enumeration value="Dismiss" />
               <s:enumeration value="Close" />
               <s:enumeration value="OpenInClient" />
               <s:enumeration value="Refresh" />
             </s:restriction>
           </s:simpleType>
         </s:list>
       </s:simpleType>
       <s:element name="BroadcastEndSession">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="user" type="tns:BroadcastUser" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:complexType name="BroadcastUser">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="SessionId" type="s:string" />
           <s:element minOccurs="0" maxOccurs="1" name="UserToken" type="s:string" />
         </s:sequence>
       </s:complexType>
       <s:element name="BroadcastEndSessionResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="BroadcastEndSessionResult" type="tns:ServiceResult" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="BroadcastPutData">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="user" type="tns:BroadcastUser" />
             <s:element minOccurs="0" maxOccurs="1" name="data" type="tns:BroadcastData" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:complexType name="BroadcastData">
         <s:sequence>
           <s:element minOccurs="1" maxOccurs="1" name="SlideShowState" type="tns:SlideShowState" />
           <s:element minOccurs="0" maxOccurs="1" name="HostToken" type="s:string" />
           <s:element minOccurs="1" maxOccurs="1" name="SlideId" type="s:unsignedInt" />
           <s:element minOccurs="0" maxOccurs="1" name="AnimationStepDataList" type="tns:ArrayOfBroadcastAnimationStepData" />
           <s:element minOccurs="1" maxOccurs="1" name="SequenceNumber" type="s:int" />
         </s:sequence>
       </s:complexType>
       <s:simpleType name="SlideShowState">
         <s:restriction base="s:string">
           <s:enumeration value="NotStartedYet" />
           <s:enumeration value="BlackScreen" />
           <s:enumeration value="WhiteScreen" />
           <s:enumeration value="Normal" />
           <s:enumeration value="BroadcastEnded" />
           <s:enumeration value="SlideShowEnded" />
         </s:restriction>
       </s:simpleType>
       <s:complexType name="ArrayOfBroadcastAnimationStepData">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="unbounded" name="BroadcastAnimationStepData" nillable="true" type="tns:BroadcastAnimationStepData" />
         </s:sequence>
       </s:complexType>
       <s:complexType name="BroadcastAnimationStepData">
         <s:sequence>
           <s:element minOccurs="0" maxOccurs="1" name="TimelineId" type="s:string" />
           <s:element minOccurs="1" maxOccurs="1" name="Step" type="s:int" />
         </s:sequence>
       </s:complexType>
       <s:element name="BroadcastPutDataResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1" name="BroadcastPutDataResult" type="tns:ServiceResult" />
           </s:sequence>
         </s:complexType>
       </s:element>
     </s:schema>
   </wsdl:types>
   <wsdl:message name="BroadcastStartSessionSoapIn">
     <wsdl:part name="parameters" element="tns:BroadcastStartSession" />
   </wsdl:message>
   <wsdl:message name="BroadcastStartSessionSoapOut">
     <wsdl:part name="parameters" element="tns:BroadcastStartSessionResponse" />
   </wsdl:message>
   <wsdl:message name="BroadcastEndSessionSoapIn">
     <wsdl:part name="parameters" element="tns:BroadcastEndSession" />
   </wsdl:message>
   <wsdl:message name="BroadcastEndSessionSoapOut">
     <wsdl:part name="parameters" element="tns:BroadcastEndSessionResponse" />
   </wsdl:message>
   <wsdl:message name="BroadcastPutDataSoapIn">
     <wsdl:part name="parameters" element="tns:BroadcastPutData" />
   </wsdl:message>
   <wsdl:message name="BroadcastPutDataSoapOut">
     <wsdl:part name="parameters" element="tns:BroadcastPutDataResponse" />
   </wsdl:message>
   <wsdl:portType name="PptPresentServiceSoap">
     <wsdl:operation name="BroadcastStartSession">
       <wsdl:input message="tns:BroadcastStartSessionSoapIn" />
       <wsdl:output message="tns:BroadcastStartSessionSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="BroadcastEndSession">
       <wsdl:input message="tns:BroadcastEndSessionSoapIn" />
       <wsdl:output message="tns:BroadcastEndSessionSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="BroadcastPutData">
       <wsdl:input message="tns:BroadcastPutDataSoapIn" />
       <wsdl:output message="tns:BroadcastPutDataSoapOut" />
     </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="PptPresentServiceSoap" type="tns:PptPresentServiceSoap">
     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
     <wsdl:operation name="BroadcastStartSession">
       <soap:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastStartSession" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="BroadcastEndSession">
       <soap:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastEndSession" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="BroadcastPutData">
       <soap:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastPutData" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
   <wsdl:binding name="PptPresentServiceSoap12" type="tns:PptPresentServiceSoap">
     <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
     <wsdl:operation name="BroadcastStartSession">
       <soap12:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastStartSession" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="BroadcastEndSession">
       <soap12:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastEndSession" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="BroadcastPutData">
       <soap12:operation soapAction="http://schemas.microsoft.com/server/powerpoint/2009/main/BroadcastPutData" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
 </wsdl:definitions>