6 Appendix A: Full WSDL

For ease of implementation, the full WSDL is provided, as follows:

 <?xml version="1.0" encoding="utf-8"?>
 <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:types>
     <s:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/">
       <s:import namespace="http://www.w3.org/2001/XMLSchema" />
       <s:element name="GetNewDocumentId">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="fileUrl" type="s:string" />
             <s:element minOccurs="1" maxOccurs="1" name="orgId" type="s:int" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetNewDocumentIdResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetNewDocumentIdResult">
               <s:complexType>
                 <s:sequence>
                   <s:element minOccurs="1" maxOccurs="1" name="LabelMetaProperty">
                     <s:complexType>
                       <s:sequence>
                         <s:element name="EawfCompanyName" type="s:string" minOccurs="0" maxOccurs="1" />
                         <s:element name="EawfDepartment" type="s:string" minOccurs="0" maxOccurs="1" />
                         <s:element name="EawfDepartmentCode" type="s:string" minOccurs="0" maxOccurs="1" />
                         <s:element name="EawfSubmittedYear" type="s:string" minOccurs="0" maxOccurs="1" />
                         <s:element name="EawfSequenceNumber" type="s:string" minOccurs="0" maxOccurs="1" />
                         <s:any minOccurs="0" maxOccurs="unbounded" namespace="##local" />
                         <s:element name="EawfDocumentId" type="s:string" minOccurs="1" maxOccurs="1" />
                       </s:sequence>
                     </s:complexType>
                   </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetCurrentUserFromWeb">
         <s:complexType />
       </s:element>
       <s:element name="GetCurrentUserFromWebResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetCurrentUserFromWebResult">
               <s:complexType>
                 <s:sequence>
                   <s:element minOccurs="1" maxOccurs="1" name="CurrentUserFromWeb">
                     <s:complexType>
                       <s:sequence>
                         <s:element name="ID" type="s:string" minOccurs="1" maxOccurs="1" />
                         <s:element name="LoginName" type="s:string" minOccurs="1" maxOccurs="1" />
                         <s:element name="Email" type="s:string" minOccurs="1" maxOccurs="1" />
                       </s:sequence>
                     </s:complexType>                  </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetPreferredApprovalLine">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="userId" type="s:int" />
             <s:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetPreferredApprovalLineResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetPreferredApprovalLineResult">
               <s:complexType>
                 <s:sequence>
                   <s:element name="ApprovalLine" minOccurs="0" maxOccurs="1">
                     <s:complexType>
                       <s:sequence>
                         <s:element name="Participant" minOccurs="1" maxOccurs="unbounded">                          <s:complexType>
                             <s:sequence>
                               <s:element name="ID" type="s:string" minOccurs="1" maxOccurs="1" />
                               <s:element name="Type" type="s:string" minOccurs="1" maxOccurs="1" />
                               <s:element name="Order" type="s:string" minOccurs="1" maxOccurs="1" />
                               <s:element name="ApprovalType" type="s:string" minOccurs="1" maxOccurs="1" />
                               <s:element name="Department" type="s:string" minOccurs="1" maxOccurs="1" />
                             </s:sequence>
                           </s:complexType>
                         </s:element>                      </s:sequence>
                       <s:attribute name="ContentTypeId" type="s:string" use="required" />                    </s:complexType>
                   </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="SetPreferredApprovalLine">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="userId" type="s:int" />
             <s:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="s:string" />
             <s:element minOccurs="1" maxOccurs="1" name="approvalLineXml" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="SetPreferredApprovalLineResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="SetPreferredApprovalLineResult" type="s:boolean" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetReceivingDepartment">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetReceivingDepartmentResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetReceivingDepartmentResult">
               <s:complexType>
                 <s:sequence>
                   <s:element name="ReceivingDepartment" minOccurs="1" maxOccurs="1">
                     <s:complexType>                      <s:sequence>                        <s:element name="ID" type="s:string" minOccurs="1" maxOccurs="1" />                      </s:sequence>                    </s:complexType>
                   </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetIsBackwardSigning">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetIsBackwardSigningResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetIsBackwardSigningResult">
               <s:complexType>
                 <s:sequence>
                   <s:element name="IsBackwardSigning" minOccurs="1" maxOccurs="1">
                     <s:complexType>                      <s:sequence>                        <s:element name="Value" type="s:string" minOccurs="1" maxOccurs="1" />                      </s:sequence>                    </s:complexType>
                   </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetDocumentLockStatus">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="documentUrl" type="s:string" />
           </s:sequence>
         </s:complexType>
       </s:element>
       <s:element name="GetDocumentLockStatusResponse">
         <s:complexType>
           <s:sequence>
             <s:element minOccurs="1" maxOccurs="1" name="GetDocumentLockStatusResult">
               <s:complexType>
                 <s:sequence>
                   <s:element name="LockStatus" minOccurs="1" maxOccurs="1">
                     <s:complexType>
                       <s:sequence>
                         <s:element name="Type" type="s:string" minOccurs="1" maxOccurs="1" />
                         <s:element name="User" type="s:string" minOccurs="1" maxOccurs="1" />
                       </s:sequence>
                     </s:complexType>
                   </s:element>
                 </s:sequence>
               </s:complexType>
             </s:element>
           </s:sequence>
         </s:complexType>
       </s:element>
     </s:schema>
   </wsdl:types>
   <wsdl:message name="GetNewDocumentIdSoapIn">
     <wsdl:part name="parameters" element="tns:GetNewDocumentId" />
   </wsdl:message>
   <wsdl:message name="GetNewDocumentIdSoapOut">
     <wsdl:part name="parameters" element="tns:GetNewDocumentIdResponse" />
   </wsdl:message>
   <wsdl:message name="GetCurrentUserFromWebSoapIn">
     <wsdl:part name="parameters" element="tns:GetCurrentUserFromWeb" />
   </wsdl:message>
   <wsdl:message name="GetCurrentUserFromWebSoapOut">
     <wsdl:part name="parameters" element="tns:GetCurrentUserFromWebResponse" />
   </wsdl:message>
   <wsdl:message name="GetPreferredApprovalLineSoapIn">
     <wsdl:part name="parameters" element="tns:GetPreferredApprovalLine" />
   </wsdl:message>
   <wsdl:message name="GetPreferredApprovalLineSoapOut">
     <wsdl:part name="parameters" element="tns:GetPreferredApprovalLineResponse" />
   </wsdl:message>
   <wsdl:message name="SetPreferredApprovalLineSoapIn">
     <wsdl:part name="parameters" element="tns:SetPreferredApprovalLine" />
   </wsdl:message>
   <wsdl:message name="SetPreferredApprovalLineSoapOut">
     <wsdl:part name="parameters" element="tns:SetPreferredApprovalLineResponse" />
   </wsdl:message>
   <wsdl:message name="GetReceivingDepartmentSoapIn">
     <wsdl:part name="parameters" element="tns:GetReceivingDepartment" />
   </wsdl:message>
   <wsdl:message name="GetReceivingDepartmentSoapOut">
     <wsdl:part name="parameters" element="tns:GetReceivingDepartmentResponse" />
   </wsdl:message>
   <wsdl:message name="GetIsBackwardSigningSoapIn">
     <wsdl:part name="parameters" element="tns:GetIsBackwardSigning" />
   </wsdl:message>
   <wsdl:message name="GetIsBackwardSigningSoapOut">
     <wsdl:part name="parameters" element="tns:GetIsBackwardSigningResponse" />
   </wsdl:message>
   <wsdl:message name="GetDocumentLockStatusSoapIn">
     <wsdl:part name="parameters" element="tns:GetDocumentLockStatus" />
   </wsdl:message>
   <wsdl:message name="GetDocumentLockStatusSoapOut">
     <wsdl:part name="parameters" element="tns:GetDocumentLockStatusResponse" />
   </wsdl:message>
   <wsdl:portType name="EAWorkflowSoap">
     <wsdl:operation name="GetNewDocumentId">
       <wsdl:input message="tns:GetNewDocumentIdSoapIn" />
       <wsdl:output message="tns:GetNewDocumentIdSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="GetCurrentUserFromWeb">
       <wsdl:input message="tns:GetCurrentUserFromWebSoapIn" />
       <wsdl:output message="tns:GetCurrentUserFromWebSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="GetPreferredApprovalLine">
       <wsdl:input message="tns:GetPreferredApprovalLineSoapIn" />
       <wsdl:output message="tns:GetPreferredApprovalLineSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="SetPreferredApprovalLine">
       <wsdl:input message="tns:SetPreferredApprovalLineSoapIn" />
       <wsdl:output message="tns:SetPreferredApprovalLineSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="GetReceivingDepartment">
       <wsdl:input message="tns:GetReceivingDepartmentSoapIn" />
       <wsdl:output message="tns:GetReceivingDepartmentSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="GetIsBackwardSigning">
       <wsdl:input message="tns:GetIsBackwardSigningSoapIn" />
       <wsdl:output message="tns:GetIsBackwardSigningSoapOut" />
     </wsdl:operation>
     <wsdl:operation name="GetDocumentLockStatus">
       <wsdl:input message="tns:GetDocumentLockStatusSoapIn" />
       <wsdl:output message="tns:GetDocumentLockStatusSoapOut" />
     </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="EAWorkflowSoap" type="tns:EAWorkflowSoap">
     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
     <wsdl:operation name="GetNewDocumentId">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetNewDocumentId" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetCurrentUserFromWeb">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetCurrentUserFromWeb" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetPreferredApprovalLine">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetPreferredApprovalLine" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetPreferredApprovalLine">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/SetPreferredApprovalLine" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetReceivingDepartment">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetReceivingDepartment" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetIsBackwardSigning">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetIsBackwardSigning" style="document" />
       <wsdl:input>
         <soap:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetDocumentLockStatus">
       <soap:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetDocumentLockStatus" 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="EAWorkflowSoap12" type="tns:EAWorkflowSoap">
     <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
     <wsdl:operation name="GetNewDocumentId">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetNewDocumentId" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetCurrentUserFromWeb">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetCurrentUserFromWeb" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetPreferredApprovalLine">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetPreferredApprovalLine" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetPreferredApprovalLine">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/SetPreferredApprovalLine" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetReceivingDepartment">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetReceivingDepartment" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetIsBackwardSigning">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetIsBackwardSigning" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetDocumentLockStatus">
       <soap12:operation soapAction="http://schemas.microsoft.com/sharepoint/soap/EAWorkflow/GetDocumentLockStatus" style="document" />
       <wsdl:input>
         <soap12:body use="literal" />
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
 </wsdl:definitions>