WSDL - UDDI

Web services are defined using Web Service Description Language (WSDL). A WSDL document is essential an XML file that describes each web service methods name, parameters, return type, document-oriented or procedure-oriented information and call conventions (GET, POST and SOAP).
The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.
The WSDL is effectively the contractbetween the client and the web service that states what is expected of both the client and the service.
WSDL Example
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:mesa="http://www.sterlingcommerce.com/mesa" xmlns:mesa_xsd="http://www.sterlingcommerce.com/mesa" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns0="http://www.sterlingcommerce.com/schema/example/info_webservice" xmlns:tns1="http://www.sterlingcommerce.com/schema/example/answer_webservice" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.sterlingcommerce.com/mesa" name="SIA_TEST_ws_getAnswer">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sterlingcommerce.com/mesa" xmlns="http://www.sterlingcommerce.com/mesa" xmlns:tns="http://www.sterlingcommerce.com/mesa" 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:element name="inlineAttachment" type="xs:base64Binary"/>
<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:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="hashType" type="tns:HashType"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="mesaAuth" type="tns:MESAAuth"/>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sterlingcommerce.com/schema/example/info_webservice" xmlns="http://www.sterlingcommerce.com/schema/example/info_webservice" xmlns:m="http://www.sterlingcommerce.com/schema/example/info_webservice" xmlns:tns0="http://www.sterlingcommerce.com/schema/example/info_webservice" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="info">
<xs:complexType>
<xs:choice>
<xs:element ref="m:productLabel"/>
<xs:element ref="m:temp"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="productLabel">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="eInvoicing_1.0"/>
<xs:enumeration value="FileGateway_1.0"/>
<xs:enumeration value="GIS_4.3"/>
<xs:enumeration value="Platform_2.0"/>
<xs:enumeration value="Standards_5.3"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="temp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="3"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.sterlingcommerce.com/schema/example/answer_webservice" xmlns="http://www.sterlingcommerce.com/schema/example/answer_webservice" xmlns:ns1="http://www.sterlingcommerce.com/schema/example/answer_webservice" xmlns:tns1="http://www.sterlingcommerce.com/schema/example/answer_webservice" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="answer">
<xs:complexType>
<xs:all>
<xs:element name="row"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="row">
<xs:complexType>
<xs:sequence>
<xs:element name="buildNumber"/>
<xs:element name="licProdVer" type="xs:string"/>
<xs:element name="siInstallDate" type="xs:date"/>
<xs:element name="siComments" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="buildNumber">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="SIA_TEST_bp_processSoapRequest">
<wsdl:part name="header" element="mesa:mesaAuth"/>
<wsdl:part name="parameters" element="tns0:info"/>
</wsdl:message>
<wsdl:message name="SIA_TEST_bp_processSoapRequestOutput">
<wsdl:part name="header" element="mesa:mesaAuth"/>
<wsdl:part name="parameters" element="tns1:answer"/>
</wsdl:message>
<wsdl:message name="MESAResponse">
<wsdl:part name="parameters" element="mesa:processData"/>
</wsdl:message>
<wsdl:message name="MESAFault">
<wsdl:part name="parameters" element="mesa:mesaFault"/>
</wsdl:message>
<wsdl:message name="GISGeneric">
<wsdl:part name="parameters" element="mesa:processData"/>
</wsdl:message>
<wsdl:portType name="GISPortType">
<wsdl:operation name="executeSIA_TEST_bp_processSoapRequest">
<wsdl:input message="mesa:SIA_TEST_bp_processSoapRequest"/>
<wsdl:output message="mesa:SIA_TEST_bp_processSoapRequestOutput"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GISBinding" type="mesa:GISPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="executeSIA_TEST_bp_processSoapRequest">
<soap:operation soapAction="sii:SIA_TEST_bp_processSoapRequest" style="document"/>
<wsdl:input>
<soap:body parts="parameters header" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SIA_TEST_ws_getAnswer">
<wsdl:port name="GISPort" binding="mesa:GISBinding">
<soap:address location="http://192.168.101.136:15040/soap?service=SIA_TEST_ws_getAnswer"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
UDDI
UDDI (Universal Description, Discovery, and Integration) is an XML-based registry for businesses worldwide to list themselves on the Internet. Its ultimate goal is to streamline online transactions by enabling companies to find one another on the Web and make their systems interoperable for e-commerce. UDDI is often compared to a telephone book's white, yellow, and green pages. The project allows businesses to list themselves by name, product, location, or the Web services they offer.