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.