WSDL architecture
Web Services Description Language (WSDL) files are written in Extensible Markup Language (XML). To learn more about XML, see Web services: Resources for learning.
The following is the structure of the information in a WSDL file:
A WSDL file contains the following parts:
- Web service interface definition
This is part contains the elements, as well as the namespaces.
- Web service implementation
This part contains the definition of the service and ports.
A WSDL file describes a Web service with the following elements:
portType
The description of the operations and associated messages. The portType element defines abstract operations.
<portType name="EightBall"> <operation name="getAnswer"> <input message="ebs:IngetAnswerRequest"/> <output message="ebs:OutgetAnswerResponse"/> </operation> </portType>
message
The description of input and output parameters and return values.
<message name="IngetAnswerRequest"> <part name="meth1_inType" type="ebs:questionType"/> </message> <message name="OutgetAnswerResponse"> <part name="meth1_outType" type="ebs:answerType"/> </message>
types
The schema for describing XML types used in the messages.
<types> <xsd:schema targetNamespace="..."> <xsd:complexType name="questionType"> <xsd:element name="question" type="string"/> </xsd:complexType> <xsd:complexType name="answerType"> ... </types>
binding
The bindings describe the protocol that is used to access a portType, as well as the data formats for the messages that are defined by a particular portType element.
<binding name="EightBallBinding" type="ebs:EightBall"> <soap:binding style="rpc" transport="schemas.xmlsoap.org/soap/http"> <operation name="ebs:getAnswer"> <soap:operation soapAction="urn:EightBall"/> <input> <soap:body namespace="urn:EightBall" ... /> ...The services and ports define the location of the Web service.
ServiceThe service contains the Web service name and
a list of ports.
PortsThe ports contain the location of the Web service
and the binding used for service access.<service name="EightBall"> <port binding="ebs:EightBallBinding" name="EightBallPort"> <soap:address location="localhost:8080/axis/EightBall"/> </port> </service>
See Also
WSDL
Related Tasks
Developing a WSDL file
Publishing WSDL files
See Also
WSDL architecture