Provider WSDL Example

The following example is a provider WSDL.

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="ExpenseReportDemo"
  targetNamespace="http://www.sterlingcommerce.com/mesa" 
  xmlns="http://schemas.ditasoap.org/wsdl/"
  xmlns:mesa="http://www.sterlingcommerce.com/mesa" 
  xmlns:mesa_xsd="http://www.sterlingcommerce.com/mesa/schema" 
  xmlns:mime="http://schemas.ditasoap.org/wsdl/mime/" 
  xmlns:soap="http://schemas.ditasoap.org/wsdl/soap/" 
  xmlns:tns0="http://www.sterlingcommerce.com/schema/example/expensereportin" 
  xmlns:wsdl="http://schemas.ditasoap.org/wsdl/"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <wsdl:types>
       <xs:schema attributeFormDefault="unqualified" 
          elementFormDefault="qualified"
          targetNamespace="http://www.sterlingcommerce.com/mesa/schema" 
          xmlns="http://www.sterlingcommerce.com/mesa/schema"  
          xmlns:tns="http://www.sterlingcommerce.com/mesa/schema"
  xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <xs:complexType name="Binary">
            <xs:simpleContent>            
              <xs:extension base="xs:base64Binary">                
                <xs:attribute name="href" type="xs:anyURI"/>         
              </xs:extension>
            </xs:simpleContent> 
          </xs:complexType>
          <xs:element name="attachment" type="tns:Binary"/>
          <xs:complexType name="ProcessData"> 
            <xs:sequence>
              <xs:any/> 
            </xs:sequence> 
          </xs:complexType> 
          <xs:element name="mesaFault" type="tns:MESAFault"/> 
          <xs:complexType name="MESAFault">
            <xs:sequence> 
              <xs:element name="code"/>                 
              <xs:element name="message"/> 
              <xs:element name="statusReport"/>
            </xs:sequence>         
          </xs:complexType>
          <xs:element name="processData" type="tns:ProcessData"/>
          <xs:element name="documents"> 
            <xs:complexType>
              <xs:sequence> 
                <xs:element maxOccurs="unbounded" ref="tns:attachment"/> 
              </xs:sequence>
            </xs:complexType> 
          </xs:element>
          <xs:simpleType name="HashType"> 
            <xs:restriction base="xs:string">             
              <xs:enumeration value="MD5"/> 
              <xs:enumeration value="NONE"/>
            </xs:restriction>
          </xs:simpleType> 
          <xs:complexType name="MESAAuth">
            <xs:sequence> 
              <xs:element name="principal"/>            
              <xs:element name="auth">
                <xs:complexType> 
                  <xs:attribute name="hashType"     
                       type="HashType" use="required"/>     
                </xs:complexType> 
              </xs:element> 
            </xs:sequence>
          </xs:complexType> 
          <xs:complexType name="MESAHeader"> 
            <xs:all> 
              <xs:element name="mesaAuth" type="tns:MESAAuth"/> 
            </xs:all>
          </xs:complexType>     
          <xs:element name="mesaHeader" type="tns:MESAHeader"/> 
          <xs:element name="mesaAuth" type="tns:MESAAuth"/> 
        </xs:schema>
        <xs:schema elementFormDefault="qualified" 
  targetNamespace="http://www.sterlingcommerce.com/schema/example/expensereportin" 
  xmlns="http://www.sterlingcommerce.com/schema/example/expensereportin" 
  xmlns:tns0="http://www.sterlingcommerce.com/schema/example/expensereportin" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="ExpenseReportInput">            
      <xs:complexType>
        <xs:sequence>     
          <xs:element ref="EmployeeInformation"/>   
          <xs:element maxOccurs="unbounded" ref="ExpenseItemInformation"/> 
          <xs:element ref="ExpenseTotals"/>     
        </xs:sequence>
      </xs:complexType> 
    </xs:element>
    <xs:element name="EmployeeInformation"> 
      <xs:complexType>  
        <xs:sequence> 
          <xs:element ref="Name"/>              
          <xs:element ref="EmpNumber"/>                      
          <xs:element ref="SSN"/>   
          <xs:element minOccurs="0" ref="Position"/> 
          <xs:element minOccurs="0" ref="Department"/>
          <xs:element ref="Manager"/> 
          <xs:element ref="PayPeriodFrom"/> 
          <xs:element ref="PayPeriodTo"/>       
        </xs:sequence>
      </xs:complexType> 
    </xs:element> 
    <xs:element name="ExpenseItemInformation"> 
      <xs:complexType> 
        <xs:sequence> 
          <xs:element ref="Date"/>              
          <xs:element ref="Account"/>   
          <xs:element ref="Description"/>
          <xs:element minOccurs="0" ref="Lodging"/> 
          <xs:element minOccurs="0" ref="Transportation"/>
          <xs:element minOccurs="0" ref="Fuel"/>
          <xs:element minOccurs="0" ref="Meals"/>
          <xs:element minOccurs="0" ref="Phone"/>
          <xs:element minOccurs="0" ref="Entertainment"/>
          <xs:element minOccurs="0" ref="Other"/>
          <xs:element ref="Total"/> 
        </xs:sequence>
      </xs:complexType> 
    </xs:element>
    <xs:element name="ExpenseTotals"> 
      <xs:complexType>
        <xs:sequence> 
          <xs:element minOccurs="0" ref="Lodging"/> 
          <xs:element minOccurs="0" ref="Transportation"/> 
          <xs:element minOccurs="0" ref="Fuel"/> 
          <xs:element minOccurs="0" ref="Meals"/> 
          <xs:element minOccurs="0" ref="Phone"/> 
          <xs:element minOccurs="0" ref="Entertainment"/> 
          <xs:element minOccurs="0" ref="Other"/> 
          <xs:element ref="SubTotal"/>          
          <xs:element minOccurs="0" ref="Advances"/>     
          <xs:element ref="GrandTotal"/>            
        </xs:sequence>
      </xs:complexType>   
    </xs:element> 
    <xs:element name="Account" type="xs:string"/>
    <xs:element name="Advances" type="xs:decimal"/> 
    <xs:element name="Date" type="xs:date"/>          
    <xs:element name="Department" type="xs:string"/>           
    <xs:element name="Description" type="xs:string"/>           
    <xs:element name="EmpNumber" type="xs:integer"/> 
    <xs:element name="Entertainment" type="xs:decimal"/>
    <xs:element name="Fuel" type="xs:decimal"/>
    <xs:element name="GrandTotal" type="xs:decimal"/>
    <xs:element name="Lodging" type="xs:decimal"/> 
    <xs:element name="Manager" type="xs:string"/>     
    <xs:element name="Meals" type="xs:decimal"/>          
    <xs:element name="Name" type="xs:string"/>
    <xs:element name="Other" type="xs:decimal"/>
    <xs:element name="PayPeriodFrom" type="xs:date"/>
    <xs:element name="PayPeriodTo" type="xs:date"/> 
    <xs:element name="Phone" type="xs:decimal"/>      
    <xs:element name="Position" nillable="true" type="xs:string"/> 
    <xs:element name="SSN" type="xs:string"/>         
    <xs:element name="SubTotal" type="xs:decimal"/>           
    <xs:element name="Total" type="xs:decimal"/>
    <xs:element name="Transportation" type="xs:decimal"/>
  </xs:schema> 
</wsdl:types>
<wsdl:message name="MESAResponse">    
  <wsdl:part element="mesa_xsd:processData" name="parameters"/> 
  <wsdl:part element="mesa_xsd:attachment" name="attachment"/> 
</wsdl:message>
<wsdl:message name="ExpenseReportDemo"> 
  <wsdl:part element="mesa_xsd:mesaAuth" name="header"/> 
  <wsdl:part element="tns0:ExpenseReportInput" name="parameters"/> 
  <wsdl:part element="mesa_xsd:attachment" name="attachment"/> 
</wsdl:message>
<wsdl:message name="MESAFault">     
  <wsdl:part element="mesa_xsd:mesaFault" name="parameters"/> 
  <wsdl:part element="mesa_xsd:attachment" name="attachment"/> 
</wsdl:message>
<wsdl:message name="GISGeneric">    
  <wsdl:part element="mesa_xsd:mesaAuth" name="header"/>   
  <wsdl:part element="mesa_xsd:processData" name="parameters"/> 
  <wsdl:part element="mesa_xsd:attachment" name="attachment"/> 
</wsdl:message>
<wsdl:portType name="GISPortType">  
  <wsdl:operation name="executeExpenseReportDemo">       
    <wsdl:input message="mesa:ExpenseReportDemo"/>          
    <wsdl:output message="mesa:GISGeneric"/> 
    <wsdl:fault message="mesa:MESAFault"/>
  </wsdl:operation> 
</wsdl:portType> 
<wsdl:binding name="GISBinding" type="mesa:GISPortType">  
  <soap:binding transport="http://schemas.ditasoap.org/soap/http"/> 
  <wsdl:operation name="executeExpenseReportDemo">      
    <soap:operation soapAction="sii:ExpenseReportDemo"/>   
    <wsdl:input>
      <mime:multipartRelated> 
        <mime:part> 
          <soap:body parts="header parameters" use="literal"/>
        </mime:part> 
        <mime:part> 
          <mime:content part="attachment" type="application/octetstream"/>             
        </mime:part>
      </mime:multipartRelated> 
    </wsdl:input>
    <wsdl:output>         
      <mime:multipartRelated>
        <mime:part> 
          <soap:body parts="parameters" use="literal"/> 
        </mime:part> 
        <mime:part> 
          <mime:content part="attachment" type="application/octetstream"/> 
        </mime:part>
      </mime:multipartRelated> 
    </wsdl:output> 
  </wsdl:operation>
</wsdl:binding> 
<wsdl:service name="ExpenseReportDemo">
  <wsdl:port binding="mesa:GISBinding" name="GISPort">
    <soap:address location="10.11.20.34?service=ExpenseReportDemo"/>
  </wsdl:port> 
</wsdl:service>
</wsdl:definitions>
Note: The inclusion of the mesaAuth element is optional. If you select a consumer, the mesaAuth element is inserted into the “types” section of the input message in the WSDL generated. The mesaAuth element is a mechanism internal to Sterling B2B Integrator, and the resulting WSDL is not compliant with WS-I Basic Profile 1.1. If you do not select a consumer, the mesaAuth element is not inserted, and the resulting WSDL is compliant with WS-I Basic Profile 1.1.