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