Understanding WSDL

DZone 's Guide to

Understanding WSDL

A developer can develop a web service completely by just having a WSDL provided.

Free Resource

Quick Tip: WSDL file should be read from bottom to top

As the name indicates, this single file contains all the information needed to understand a web service, like URL, Req and Response message structure, operations that can be performed on this web service, etc.

In simpler terms, a developer can develop a web service completely by just having a WSDL provided. We also share this WSDL to those who are consuming this web service so they know how to interact.

A few points to note before we look at a WSDL file:

  • XML message structure can be defined inside a WSDL itself

  • We can have an XSD (XSD is XML itself. Its purpose is to define the structure of Req and Response message) as a separate file and import into a WSDL

  • Predominantly used for SOAP web services

Now let’s dive into WSDL file, note that a WSDL file should be read from bottom to top (I learned from experience) as from element “Service > binding > PortType > operation > input(req) / Output (resp) > Message > types (fields) details of input and output“.

1. Let's start with the most bottom element: “Service”. The service element shows the service name and where it can be accessed from — in other words, its endpoint

Image title

2. The binding element defines exactly how each operation will take place over the network. In this case, we are using SOAP.

3. A WSDL portType is used to combine multiple messages (e.g. input, output) into a single operation. Here, we define three synchronous (input/output) operations
and the messages that must be used for each.

4. message element is used to define a message exchanged between a web service, consisting of zero or more parts.

5.The types element defines the data types (XML elements) that are used by the web service.

Info for beginners in IBM Integration bus: By default, a WSDL file is mandatory if you are using SOAP input-node/Req Node, but if you don’t want to validate input req or receive generic input from multiple front-ends/send to multiple backends on the same flow, you can use SOAP nodes without WSDL by changing “Operation mode” to Gateway mode.

A SOAP webservice can be implemented in IIB with both SOAP and HTTP nodes.

integration ,soap ,wsdl tutorial ,tutorial ,wsdl

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}