<div dir="ltr" style="text-align: justify;">
<h2><b><i>WSDL </i>Documents:</b></h2>
<p>A <i><b>WSDL </b></i>document is just a simple <i><b>XML </b></i>document.<br />
It contains set of definitions to describe a web service.</p>
<div class="separator" style="clear: both; text-align: center;"><img src="https://dineshonjava.com/wp-content/uploads/2013/05/what-wsdl-defines.jpg" border="0" /></div>
<p><i><b>WSDL </b></i>breaks down <i><b>Web services</b></i> into three specific, identifiable elements that can be combined or reused once defined.<br />
<b>Three major elements of <i>WSDL </i>that can be defined separately and they are:</b><br />
<b> </b></p>
<ul>
<li><b>Types</b></li>
<li><b>Operations</b></li>
<li><b>Binding</b></li>
</ul>
<div id="ads-id" align="center"></div>
<p>A <i><b>WSDL </b></i>document has various elements, but they are contained within these three main elements, which can be developed as separate documents and then they can be combined or reused to form complete <i><b>WSDL </b></i>files.<br />
Following are the elements of <i><b>WSDL </b></i>document. Within these elements are further subelements, or parts:</p>
<ul>
<li><b>Definition:</b> element must be the root element of all <b><i>WSDL </i></b>documents. It defines the name of the web service, declares multiple namespaces used throughout the remainder of the document, and contains all the service elements described here.</li>
<li><b>Data types:</b> the data types &#8211; in the form of <b><i>XML </i></b>schema or possibly some other mechanism &#8211; to be used in the messages</li>
<li><b>Message:</b> an abstract definition of the data, in the form of a message presented either as an entire document or as arguments to be mapped to a method invocation.</li>
<li><b>Operation:</b> the abstract definition of the operation for a message, such as naming a method, message queue, or business process, that will accept and process the message</li>
<li><b>Port type :</b> an abstract set of operations mapped to one or more end points, defining the collection of operations for a binding; the collection of operations, because it is abstract, can be mapped to multiple transports through various bindings.</li>
<li><b>Binding: </b> the concrete protocol and data formats for the operations and messages defined for a particular port type.</li>
<li><b>Port:</b> a combination of a binding and a network address, providing the target address of the service communication.</li>
<li><b>Service: </b>a collection of related end points encompassing the service definitions in the file; the services map the binding to the port and include any extensibility definitions.</li>
</ul>
<div class="separator" style="clear: both; text-align: center;"><img src="https://dineshonjava.com/wp-content/uploads/2013/05/wsdl.gif" border="0" /></div>
<p>In addition to these major elements, the <b><i>WSDL </i></b>specification also defines the following utility elements:</p>
<ul>
<li><b>Documentation:</b> element is used to provide human-readable documentation and can be included inside any other <i><b>WSDL </b></i>element.</li>
<li><b>Import:</b> element is used to import other <i><b>WSDL </b></i>documents or <i><b>XML Schemas</b></i>.</li>
</ul>
<p><b>NOTE:<i> WSDL </i></b>parts usually are generated automatically using Web services-aware tools.<br />
<b>The <i>WSDL </i>Document Structure:</b><br />
A WSDL document describes a web service using these major elements:</p>
<table border="1">
<tbody>
<tr>
<th align="left" width="20%">Element</th>
<th align="left" width="80%">Description</th>
</tr>
<tr>
<td valign="top"><b><;types>;</b></td>
<td valign="top">A container for data type definitions used by the web service</td>
</tr>
<tr>
<td valign="top"><b><;message>;</b></td>
<td valign="top">A typed definition of the data being communicated</td>
</tr>
<tr>
<td valign="top"><b><;portType>;</b></td>
<td valign="top">A set of operations supported by one or more endpoints</td>
</tr>
<tr>
<td valign="top"><b><;binding>;</b></td>
<td valign="top">A protocol and data format specification for a particular port type</td>
</tr>
</tbody>
</table>
<div class="separator" style="clear: both; text-align: center;"><img src="https://dineshonjava.com/wp-content/uploads/2013/05/275px-WSDL.svg_.png" border="0" /></div>
<p>The main structure of a WSDL document looks like this:</p>
<pre class="highlight"><;definitions>; 
 
<;types>; 
 definition of types........ 
<;/types>; 
 
<;message>; 
 definition of a message.... 
<;/message>; 
 
<;portType>; 
 <;operation>; 
 definition of a operation....... 
 <;/operation>; 
<;/portType>; 
 
<;binding>; 
 definition of a binding.... 
<;/binding>; 
 
<;service>; 
 definition of a service.... 
<;/service>; 
</pre>
<p>A <i><b>WSDL </b></i>document can also contain other elements, like extension elements and a service element that makes it possible to group together the definitions of several web services in one single <i><b>WSDL </b></i>document.</p>
<div class="separator" style="clear: both; text-align: center;"><img src="https://dineshonjava.com/wp-content/uploads/2013/05/wsdl_structure-300x282.gif" border="0" /></div>
<p><i><b>References</b></i><br />
<i><b><a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language" target="_blank" rel="noopener">Wikipedia for WSDL</a></b></i></p>
<p> ;</p>
<div style="background-color: pink; border-width: thin; text-align: center;"><b><;<;<a href="https://dineshonjava.com/introduction-to-wsdl/">Previous</a> <;<; || <a href="https://dineshonjava.com/core-java-baby-step-to-be-best-java-ian/">Index </a>|| >;>;<a href="https://dineshonjava.com/hello-world-example-wsdl-document/">Next</a> >;>;</b></div>
<p> ;</p>
</div>
<div class="wp-post-navigation"> 
									 <div class="wp-post-navigation-pre"> 
									 <a href="https://dineshonjava.com/introduction-to-wsdl/">Previous</a> 
									 </div> 
									 <div class="wp-post-navigation-next"> 
									 <a href="https://dineshonjava.com/hello-world-example-wsdl-document/">Next</a> 
									 </div> 
									</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
 $.post('https://dineshonjava.com/wp-admin/admin-ajax.php', {action: 'mts_view_count', id: '458'});
});
</script>
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…