"portType" - Port Type Definition Element

This section describes 'portType', a definition element that defines a port type with one or multiple operations. An operation is defined with input-output pattern. An input or output is defined to be of a given message type.

"portType" is a top level element of a WSDL 1.1 document. "portType" is used to define a port type with one or multiple operations with "operation" sub elements. An operation is defined with a sequence of messages to form an input-output pattern with "input" and "output" sub elements.

WSDL supports 4 input-output patterns which defines 4 types of operations:

The syntax of "portType" looks like this:

  <wsdl:portType ...>
    <-- One-way operation -->
    <wsdl:operation name="nmtoken1" parameterOrder="nmtokens">
      <wsdl:input name="nmtoken2" message="qname2"/>
    </wsdl:operation>

    <-- Request-response operation -->
    <wsdl:operation name="nmtoken1" parameterOrder="nmtokens">
      <wsdl:input name="nmtoken2" message="qname2"/>
      <wsdl:output name="nmtoken3" message="qname3"/>
      <wsdl:fault name="nmtoken4" message="qname4"/>
    </wsdl:operation>

    <-- Solicit-response operation -->
    <wsdl:operation name="nmtoken1" parameterOrder="nmtokens">
      <wsdl:output name="nmtoken3" message="qname3"/>
      <wsdl:input name="nmtoken2" message="qname2"/>
      <wsdl:fault name="nmtoken4" message="qname4"/>
    </wsdl:operation>

    <-- Notification operation -->
    <wsdl:operation name="nmtoken1" parameterOrder="nmtokens">
      <wsdl:output name="nmtoken3" message="qname3"/>
    </wsdl:operation>

    ...
  </wsdl:portType >

Notes on the "portType" element:

Here is an example of "portType" element:

  <wsdl:portType name="helloPortType">
    <wsdl:operation name="Hello">
      <wsdl:input name="helloInput" message="hy:helloInputMessage"/>
      <wsdl:output name="helloOutput" message="hy:helloOutputMessage"/>
    </wsdl:operation>
  </wsdl:portType>

In this example,

Table of Contents

 About This Book

 Introduction to WSDL 2.0

 WSDL 2.0 Document Structure and Syntax

 WSDL Version 2.0 Part 2: Adjuncts

 WSDL 2.0 Document Examples with SOAP Binding

 Using WSDL Document in Java Apache Axis2/Java for WSDL

 Apache Woden for WSDL Documents in Java

 SoapUI - Web Service Testing Tool

 PHP SOAP Extension for WSDL

 Perl SOAP::Lite for WSDL

 Introduction to WSDL 1.1

WSDL 1.1 Document Structure and Syntax

 Overview of WSDL 1.1 Document Structure

 "definitions" - The Root Element

 "types" - The Container Element for Data Types

 "message" - Message Type Definition Element

"portType" - Port Type Definition Element

 "binding" - Binding Definition Element

 "service" - Service Definition Element

 WSDL 1.1 Binding Extension for SOAP 1.1

 SoapUI as WSDL 1.1 Testing Tool

 WSDL 1.1 and SOAP 1.1 Examples - Document and RPC Styles

 PHP SOAP Extension for WSDL 1.1

 Perl SOAP::Lite for WSDL 1.1

 Apache Axis2/Java for WSDL 1.1

 Using WSDL2Java to Generate Web Service Stub Classes

 WSDL 1.1 Binding Extension for SOAP 1.2

 WSDL 1.1 and SOAP 1.2 Examples - Document and RPC Styles

 SOAP 1.2 Binding - PHP, Java and Perl Clients

 Python SOAP Client: Zeep

 WSDL Related Terminologies

 Archived Tutorials

 References

 Full Version in PDF/EPUB