<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/ -->
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
<title>Using the WSDL Explorer</title>
</head>
<body id="ttestwsdl"><a name="ttestwsdl"><!-- --></a>

<h1 class="topictitle1">Testing WSDL documents and Web services using the WSDL Explorer</h1>
<div><p>WSDL documents allow developers to expose their applications as
network-accessible services on the Internet. Through UDDI and WSIL, other
applications can discover WSDL documents and bind with them to execute transactions
or perform other business processes. The Web Services Explorer allows you
to explore, import, and test WSDL documents.</p>
<div class="p">Prerequisites:  To use the WSDL Explorer:<ul><li>You must have a valid URL for a WSDL document.</li>
<li>You must launch the Web Services Explorer: <a href="tstrtexp.html">Launch
the Web Services Explorer</a></li>
</ul>
</div>
<div class="section"><p>The WSDL Explorer allows you to explore, and test WSDL documents.
For more information on exploring WSDL documents using the WSDL Explorer,
refer to <a href="twsdlexp.html">Using the WSDL Explorer</a> .</p>
<p>To
test a Web service using the WSDL Explorer:</p>
</div>
<ol><li class="stepexpand"><span>To launch the WSDL Explorer, complete the following steps:</span><ol type="a"><li><span>In the Web Services Explorer, switch to the WSDL Explorer by
clicking the icon in the upper right-hand corner  <img src="../images/wsdlicon.gif" alt="Icon to launch the WSDL Explorer" />. </span></li>
</ol>
</li>
<li class="stepexpand"><span>Select WSDL Main in the Navigator pane, enter or browse to an existing
WSDL URL in the right-hand pane, and click  <strong>Go</strong>. For this example the
WSDL being used is a Web Service which returns a temperature for any entered
zip code.   <br /><img src="../images/wsdlexp.gif" alt="Screen capture of the WSDL Main pane of the Web Services Explorer" /><br />  The following nodes
will be added to the WSDL tree: </span> <ul><li>The WSDL node:  <img src="../images/wsdlnode.gif" alt="WSDL node icon" /></li>
<li>The service node (which represents a service element within the WSDL file):
 <img src="../images/servnode.gif" alt="Service node icon" /></li>
<li>The binding node:  <img src="../images/bindnode.gif" alt="Binding node icon" /></li>
<li>The operation node:  <img src="../images/opnode.gif" alt="Operation node icon" /></li>
</ul>
</li>
<li class="stepexpand"><span>In the WSDL Binding Details pane, click the operation (in this
example the  <tt class="sysout">getTemp</tt> operation) to display: </span> <ul><li>A drop-down list with the endpoints available for this operation</li>
<li>Fields for each of the parameters of this operation (in this example the
 <tt class="sysout">zipcode</tt> parameter) and the type of information
the parameter is looking for (in this example  <tt class="sysout">zipcode</tt> is
requesting a string).   <br /><img src="../images/wsdlop.gif" alt="Invoke a WSDL Operation pane of the Web Services Explorer" /><br />  The Form view allows
you to enter the parameters for the Web service operation call. Parameters
names are displayed as links whose action is to display a dialog describing
embedded XML Schema Definition Language (XSD) information. More information
about XSD can be found here:  <a href="http://www.eclipse.org/xsd/">http://www.eclipse.org/xsd/</a> 
 <br /><img src="../images/scenario7.gif" alt="Screen capture of the XSD Information Dialog" /><br />  </li>
</ul>
</li>
<li class="stepexpand"><span>Enter your string and click  <strong>Go</strong>. The result is returned
in the Status pane.   <br /><img src="../images/wsdlopret.gif" alt="Screen capture of an invoked WSDL operation showing the result in the Status pane" /><br />  </span></li>
<li class="stepexpand"><span>If you are using SOAP as your binding method, clicking Source or
Form in the upper right-hand corner will toggle the display between the Form
view (shown above) and the Source view, which displays the SOAP message in
the XML format. You can also enter the same information as in the form, only
in XML format (this is suggested for advanced users only). The Explorer does
validate the XML if you modify it, but not the parameter values you enter.
 <br /><img src="../images/wsdlopretx.gif" alt="Source view of the Invoke a WSDL Operation pane." /><br /></span></li>
<li class="stepexpand"><span> If you are using SOAP as your binding type, you will also
have the option of toggling the Status pane between the Source and Form views.
The Source view shows the SOAP request and response envelopes, including the
parameters you have entered to test the service and the returned value.   <br /><img src="../images/wsdlstatx.gif" alt="Screen capture of the source view of the SOAP request and response envelopes" /><br /> </span></li>
</ol>
</div>
<div>
<div class="linklist"><strong>Related Concepts</strong><br />

<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html"> Tools for Web services development</a></div>
<div><a href="../../org.eclipse.jst.ws.doc.user/concepts/cws.html">Web services development</a></div>
<div><a href="../concepts/cuddi.html" title="Universal Description, Discovery, and Integration (UDDI) specification defines a way to publish and discover information about Web services.">Universal Description, Discovery, and Integration (UDDI)</a></div></div>

<div class="linklist"><strong>Related Tasks</strong><br />

<div><a href="tuddiexp.html" title="Through UDDI and WSIL, other applications can discover WSDL documents and bind with them to execute transactions or perform other business processes.">Publishing Web services and business entities</a></div>
<div><a href="tstrtexp.html" title="The Web services tools allows you to launch the Web Services Explorer in several ways.">Launching the Web Services Explorer</a></div>
<div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div></div>
</div>
</body>
</html>