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:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://schemas.microsoft.com/office/infopath/2007/formsServices" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/office/infopath/2007/formsServices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
   <wsdl:documentation>Forms Service</wsdl:documentation>
   <wsdl:types>
     <xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/office/infopath/2007/formsServices">
       <xs:element name="BrowserEnableUserFormTemplate">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="formTemplateLocation" type="xs:string"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="BrowserEnableUserFormTemplateResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="BrowserEnableUserFormTemplateResult" type="tns:MessagesResponse"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:complexType name="MessagesResponse">
         <xs:sequence>
           <xs:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:Messages"/>
         </xs:sequence>
       </xs:complexType>
       <xs:complexType name="Messages">
         <xs:sequence>
           <xs:element minOccurs="0" maxOccurs="unbounded" name="Message" nillable="true" type="tns:Message"/>
         </xs:sequence>
       </xs:complexType>
       <xs:complexType name="Message">
         <xs:sequence>
           <xs:element minOccurs="0" maxOccurs="1" name="ShortMessage" type="xs:string"/>
           <xs:element minOccurs="0" maxOccurs="1" name="DetailedMessage" type="xs:string"/>
           <xs:element minOccurs="0" maxOccurs="1" name="SourceLocation" type="tns:SourceLocation"/>
         </xs:sequence>
         <xs:attribute name="Id" type="xs:int" use="required"/>
         <xs:attribute name="Type" type="tns:MessageType" use="required"/>
         <xs:attribute name="Feature" type="tns:Feature" use="required"/>
         <xs:attribute name="Category" type="tns:Category" use="required"/>
       </xs:complexType>
       <xs:complexType name="SourceLocation">
         <xs:attribute name="ControlId" type="xs:string"/>
         <xs:attribute name="FileName" type="xs:string"/>
         <xs:attribute name="LineNumber" type="xs:int"/>
         <xs:attribute name="LinePosition" type="xs:int"/>
       </xs:complexType>
       <xs:simpleType name="MessageType">
         <xs:restriction base="xs:string">
           <xs:enumeration value="Error"/>
           <xs:enumeration value="Information"/>
           <xs:enumeration value="Warning"/>
         </xs:restriction>
       </xs:simpleType>
       <xs:simpleType name="Feature">
         <xs:restriction base="xs:string">
           <xs:enumeration value="GenericXsf"/>
           <xs:enumeration value="XsfSchema"/>
           <xs:enumeration value="GenericXsl"/>
           <xs:enumeration value="GenericXPath"/>
           <xs:enumeration value="TemplateXml"/>
           <xs:enumeration value="Layout"/>
           <xs:enumeration value="Controls"/>
           <xs:enumeration value="BusinessLogic"/>
           <xs:enumeration value="Calculations"/>
           <xs:enumeration value="Validation"/>
           <xs:enumeration value="DigitalSignatures"/>
           <xs:enumeration value="DataAdapters"/>
           <xs:enumeration value="Submit"/>
           <xs:enumeration value="Views"/>
           <xs:enumeration value="Rules"/>
           <xs:enumeration value="ConditionalFormatting"/>
           <xs:enumeration value="VersionUpgrade"/>
         </xs:restriction>
       </xs:simpleType>
       <xs:simpleType name="UserSolutionActivationStatus">
         <xs:restriction base="xs:string">
           <xs:enumeration value="ActivationAllowed"/>
           <xs:enumeration value="ActivationDenied"/>
           <xs:enumeration value="UserCodeServiceNotAvailable"/>
           <xs:enumeration value="ServiceQuotaExceeded"/>
           <xs:enumeration value="InsufficientUserPermissions"/>
         </xs:restriction>
       </xs:simpleType>
       <xs:simpleType name="Category">
         <xs:restriction base="xs:string">
           <xs:enumeration value="BrowserOptimization"/>
           <xs:enumeration value="BrowserCompatibility"/>
         </xs:restriction>
       </xs:simpleType>
       <xs:element name="DesignCheckFormTemplate">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="lcid" type="xs:int"/>
             <xs:element minOccurs="1" maxOccurs="1" name="base64FormTemplate" type="xs:string"/>
             <xs:element minOccurs="0" maxOccurs="1" name="applicationId" type="xs:string"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="DesignCheckFormTemplateResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="DesignCheckFormTemplateResult" type="tns:DesignCheckerInformation"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="SetFormsForListItem">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="lcid" type="xs:int"/>
             <xs:element minOccurs="1" maxOccurs="1" name="base64FormTemplate" type="xs:string"/>
             <xs:element minOccurs="0" maxOccurs="1" name="applicationId" type="xs:string"/>
             <xs:element minOccurs="1" maxOccurs="1" name="listGuid" type="xs:string"/>
             <xs:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="xs:string"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="SetFormsForListItemResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="SetFormsForListItemResult" type="tns:DesignCheckerInformation"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="GetListFormLocation">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="lcid" type="xs:int"/>
             <xs:element minOccurs="1" maxOccurs="1" name="listGuid" type="xs:string"/>
             <xs:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="xs:string"/>
             <xs:element minOccurs="1" maxOccurs="1" name="checkDesignPermissions" type="xs:boolean"/>
             <xs:element minOccurs="1" maxOccurs="1" name="checkCustomFormEnabled" type="xs:boolean"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="GetListFormLocationResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="GetListFormLocationResult" type="xs:string"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="SetSchemaChangesForList">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="lcid" type="xs:int"/>
             <xs:element minOccurs="1" maxOccurs="1" name="listGuid" type="xs:string"/>
             <xs:element minOccurs="1" maxOccurs="1" name="contentTypeId" type="xs:string"/>
             <xs:element minOccurs="0" maxOccurs="1" name="newFields">
               <xs:complexType mixed="true">
                 <xs:sequence>
                   <xs:any/>
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
             <xs:element minOccurs="0" maxOccurs="1" name="updateFields">
               <xs:complexType mixed="true">
                 <xs:sequence>
                   <xs:any/>
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
             <xs:element minOccurs="0" maxOccurs="1" name="deleteFields">
               <xs:complexType mixed="true">
                 <xs:sequence>
                   <xs:any/>
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="SetSchemaChangesForListResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="0" maxOccurs="1" name="SetSchemaChangesForListResult">
               <xs:complexType mixed="true">
                 <xs:sequence>
                   <xs:any/>
                 </xs:sequence>
               </xs:complexType>
             </xs:element>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="GetUserCodeDeploymentDependencies">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="siteCollectionLocation" type="xs:string"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:element name="GetUserCodeDeploymentDependenciesResponse">
         <xs:complexType>
           <xs:sequence>
             <xs:element minOccurs="1" maxOccurs="1" name="GetUserCodeDeploymentDependenciesResult" type="tns:UserSolutionActivationStatus"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
       <xs:complexType name="DesignCheckerInformation">
         <xs:sequence>
           <xs:element minOccurs="0" maxOccurs="1" name="ApplicationId" type="xs:string"/>
           <xs:element minOccurs="1" maxOccurs="1" name="Lcid" type="xs:int"/>
           <xs:element minOccurs="0" maxOccurs="1" name="Categories" type="tns:Categories"/>
           <xs:element minOccurs="0" maxOccurs="1" name="Messages" type="tns:Messages"/>
         </xs:sequence>
       </xs:complexType>
       <xs:complexType name="Categories">
         <xs:sequence>
           <xs:element minOccurs="0" maxOccurs="unbounded" name="Category" nillable="true" type="tns:CategoryType"/>
         </xs:sequence>
       </xs:complexType>
       <xs:complexType name="CategoryType">
         <xs:sequence>
           <xs:element minOccurs="1" maxOccurs="1" name="Id" type="tns:Category"/>
           <xs:element minOccurs="0" maxOccurs="1" name="Label" type="xs:string"/>
           <xs:element minOccurs="1" maxOccurs="1" name="HideWarningsByDefault" type="xs:boolean"/>
         </xs:sequence>
       </xs:complexType>
     </xs:schema>
   </wsdl:types>
   <wsdl:portType name="FormsServicesWebServiceSoap">
     <wsdl:operation name="BrowserEnableUserFormTemplate">
       <wsdl:input message="tns:BrowserEnableUserFormTemplateSoapIn"/>
       <wsdl:output message="tns:BrowserEnableUserFormTemplateSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="DesignCheckFormTemplate">
       <wsdl:input message="tns:DesignCheckFormTemplateSoapIn"/>
       <wsdl:output message="tns:DesignCheckFormTemplateSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="SetFormsForListItem">
       <wsdl:input message="tns:SetFormsForListItemSoapIn"/>
       <wsdl:output message="tns:SetFormsForListItemSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="GetListFormLocation">
       <wsdl:input message="tns:GetListFormLocationSoapIn"/>
       <wsdl:output message="tns:GetListFormLocationSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="SetSchemaChangesForList">
       <wsdl:input message="tns:SetSchemaChangesForListSoapIn"/>
       <wsdl:output message="tns:SetSchemaChangesForListSoapOut"/>
     </wsdl:operation>
     <wsdl:operation name="GetUserCodeDeploymentDependencies">
       <wsdl:input message="tns:GetUserCodeDeploymentDependenciesSoapIn"/>
       <wsdl:output message="tns:GetUserCodeDeploymentDependenciesSoapOut"/>
     </wsdl:operation>
   </wsdl:portType>
   <wsdl:binding name="FormsServicesWebServiceSoap" type="tns:FormsServicesWebServiceSoap">
     <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="BrowserEnableUserFormTemplate">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/BrowserEnableUserFormTemplate" style="document"/>
       <wsdl:input>
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="DesignCheckFormTemplate">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/DesignCheckFormTemplate" style="document"/>
       <wsdl:input>
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetFormsForListItem">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/SetFormsForListItem" style="document"/>
       <wsdl:input>
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetListFormLocation">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/GetListFormLocation" style="document"/>
       <wsdl:input>
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetSchemaChangesForList">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/SetSchemaChangesForList" style="document"/>
       <wsdl:input>
         <soap:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetUserCodeDeploymentDependencies">
       <soap:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/GetUserCodeDeploymentDependencies" 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="FormsServicesWebServiceSoap12" type="tns:FormsServicesWebServiceSoap">
     <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="BrowserEnableUserFormTemplate">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/BrowserEnableUserFormTemplate" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="DesignCheckFormTemplate">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/DesignCheckFormTemplate" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetFormsForListItem">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/SetFormsForListItem" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetListFormLocation">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/GetListFormLocation" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="SetSchemaChangesForList">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/SetSchemaChangesForList" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
     <wsdl:operation name="GetUserCodeDeploymentDependencies">
       <soap12:operation soapAction="http://schemas.microsoft.com/office/infopath/2007/formsServices/GetUserCodeDeploymentDependencies" style="document"/>
       <wsdl:input>
         <soap12:body use="literal"/>
       </wsdl:input>
       <wsdl:output>
         <soap12:body use="literal"/>
       </wsdl:output>
     </wsdl:operation>
   </wsdl:binding>
   <wsdl:message name="BrowserEnableUserFormTemplateSoapIn">
     <wsdl:part name="parameters" element="tns:BrowserEnableUserFormTemplate"/>
   </wsdl:message>
   <wsdl:message name="BrowserEnableUserFormTemplateSoapOut">
     <wsdl:part name="parameters" element="tns:BrowserEnableUserFormTemplateResponse"/>
   </wsdl:message>
   <wsdl:message name="DesignCheckFormTemplateSoapIn">
     <wsdl:part name="parameters" element="tns:DesignCheckFormTemplate"/>
   </wsdl:message>
   <wsdl:message name="DesignCheckFormTemplateSoapOut">
     <wsdl:part name="parameters" element="tns:DesignCheckFormTemplateResponse"/>
   </wsdl:message>
   <wsdl:message name="GetListFormLocationSoapIn">
     <wsdl:part name="parameters" element="tns:GetListFormLocation"/>
   </wsdl:message>
   <wsdl:message name="GetListFormLocationSoapOut">
     <wsdl:part name="parameters" element="tns:GetListFormLocationResponse"/>
   </wsdl:message>
   <wsdl:message name="GetUserCodeDeploymentDependenciesSoapIn">
     <wsdl:part name="parameters" element="tns:GetUserCodeDeploymentDependencies"/>
   </wsdl:message>
   <wsdl:message name="GetUserCodeDeploymentDependenciesSoapOut">
     <wsdl:part name="parameters" element="tns:GetUserCodeDeploymentDependenciesResponse"/>
   </wsdl:message>
   <wsdl:message name="SetFormsForListItemSoapIn">
     <wsdl:part name="parameters" element="tns:SetFormsForListItem"/>
   </wsdl:message>
   <wsdl:message name="SetFormsForListItemSoapOut">
     <wsdl:part name="parameters" element="tns:SetFormsForListItemResponse"/>
   </wsdl:message>
   <wsdl:message name="SetSchemaChangesForListSoapIn">
     <wsdl:part name="parameters" element="tns:SetSchemaChangesForList"/>
   </wsdl:message>
   <wsdl:message name="SetSchemaChangesForListSoapOut">
     <wsdl:part name="parameters" element="tns:SetSchemaChangesForListResponse"/>
   </wsdl:message>
 </wsdl:definitions>