<?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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="copyright" content="(C) Copyright 2005" />
<meta name="DC.rights.owner" content="(C) Copyright 2005" />
<meta content="public" name="security" />
<meta content="index,follow" name="Robots" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta content="task" name="DC.Type" />
<meta name="DC.Title" content="Creating a Java bean skeleton from a WSDL document using the Apache Axis run-time environment" />
<meta name="abstract" content="The Web service wizard assists you in creating a skeleton bean from an existing WSDL document. The skeleton bean contains a set of methods that correspond to the operations described in the WSDL document. When the bean is created, each method has a trivial implementation that you replace by editing the bean." />
<meta name="description" content="The Web service wizard assists you in creating a skeleton bean from an existing WSDL document. The skeleton bean contains a set of methods that correspond to the operations described in the WSDL document. When the bean is created, each method has a trivial implementation that you replace by editing the bean." />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/concepts/cws.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html" />
<meta scheme="URI" name="DC.Relation" content="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html" />
<meta content="XHTML" name="DC.Format" />
<meta content="tsklwsdla" name="DC.Identifier" />
<meta content="en-us" name="DC.Language" />
<link href="../../org.eclipse.wst.doc.user/commonltr.css" type="text/css" rel="stylesheet" />
<title>Creating a Java bean skeleton from a WSDL document using the
Apache Axis run-time environment</title>
</head>
<body id="tsklwsdla"><a name="tsklwsdla"><!-- --></a>


<h1 class="topictitle1">Creating a Java bean skeleton from a WSDL document using the Apache
Axis run-time environment</h1>



<div><p>The Web service wizard assists you in creating a skeleton bean
from an existing WSDL document. The skeleton bean contains a set of methods
that correspond to the operations described in the WSDL document. When the
bean is created, each method has a trivial implementation that you replace
by editing the bean.</p>

<div class="p"><p>Prerequisites:</p>
<ol>
<li id="tsklwsdla__createtomcatlink"><a name="tsklwsdla__createtomcatlink"><!-- --></a>If you are using the Apache Jakarta Tomcat servlet
container as your server, you must install it, configure an instance of it,
and create a Web project targeted to it as described in <a href="ttomcatserv.html">Creating an Apache Tomcat server and Web project</a></li>

<li>Create or import a WSDL file into the Web Content folder of the Web project.
You can only use a WSDL file that contains a service element.</li>

</ol>
</div>

<div class="section">To create a Web service from a WSDL file using the Apache Axis 1.0
run-time environment:</div>

<ol>
<li class="stepexpand"><span>Switch to the J2EE perspective (<span class="uicontrol">Window &gt; Open Perspective
&gt; J2EE</span>).</span></li>

<li class="stepexpand"><span>In the Project Explorer view, select the WSDL file that you created
or imported into the Web Content folder of your Web project.</span></li>

<li class="stepexpand"><span>Click  <span class="uicontrol">File &gt; New &gt; Other</span>. Select  <span class="uicontrol">Web
Services</span> in order to display the various Web service wizards.
Select the  <span class="uicontrol">Web Service</span> wizard. Click  <span class="uicontrol">Next</span>.</span>
</li>

<li class="stepexpand"><span>Web Services page: select  <span class="uicontrol">Top down Java bean Web service</span> as
your Web service type. You can optionally choose to do the following: </span>
 <ul>
<li>Start the Web service in a Web project - if you do not select this option
you will have to manually start the Web service. You must select this option
to enable the other options on this page.</li>

<li>Launch the Web Services Explorer to publish your Web service to a UDDI
registry.</li>

<li>Generate a Java™ bean client proxy to the Web service. The Java bean
client proxy that is generated provides a remote procedure call interface
to the Web service.</li>

<li>Test the Web service - this allows you to test the Web service in the
Web Service Explorer before a proxy is generated.</li>

<li>Send the Web service traffic through the TCP/IP Monitor, which allows
you to watch the SOAP traffic generated by the Web service and to test this
traffic for WS-I compliance. Note that this is only supported for Tomcat v4.0
and v4.1. If you are using Tomcat v5.0 and want to monitor the Web service
traffic, you need to manually set up a TCP/IP monitor as described in <a href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html">Using the TCP/IP Monitor to test Web services</a></li>

</ul>
</li>

<li class="stepexpand"><span>Web Service Selection page: Enter the URI to the WSDL, WSIL, or
HTML file that will be used to generate the Java bean. If you have selected the WSDL
file before starting the wizard, this information should be prefilled. You
can optionally generate a WSIL file from this file as well.</span>  Ensure
that there are no spaces at the beginning of the URI or you may generate a
null pointer exception.</li>

<li class="stepexpand"><span>Service Deployment Configuration page: specify the server and client
deployment settings.</span>
<ol type="a">
<li class="substepexpand"><span>Click  <span class="uicontrol">Edit</span> and select the Apache Axis
run-time environment and select the server on which you want to run your Web
service and Web service client.</span></li>

<li class="substepexpand"><span>Select the Web project in which you want your Web service created. </span>
 The wizard will create this for you if they do not already exist.
</li>

<li class="substepexpand"><span>Select the type and name of project in which you want the Web
service client created. If you enter the name of an existing project, the
project type field must match that of the existing project. If you enter a
name of a project that does not already exist, the wizard will create the
project for you. Note that the only project type supported for Axis clients
is a Web project. If you want the client to be created in a Java, EJB,
or Application Client project, you must select the WebSphere<sup>®</sup> run-time environment for
your client.</span></li>

</ol>

</li>

<li class="stepexpand"><span>Web Services Skeleton Java Bean Configuration page: Select the
folder where the generated Java will be stored. If you want to review
or edit the mappings between packages and namespaces, select the  <span class="uicontrol">Define
custom mapping for namespace to package</span> check box. Click  <span class="uicontrol">Next</span>.</span>
</li>

<li class="stepexpand"><span>Web Service Namespace to Package Mappings page: if you selected
 <span class="uicontrol">Define custom mapping for package to namespace</span> on
the previous panel, you can enter your custom mapping pairs on this panel
by clicking  <span class="uicontrol">Add.</span> Click  <span class="uicontrol">Next</span>.</span>
</li>

<li class="stepexpand"><span>Web Service Test page: If you selected to test the Web service,
select the test facility for the generated Web service. This will open the
Web service in the Web Services Explorer. Select the operation you want to
test, enter the required information, and click  <span class="uicontrol">Go</span>.
The result will display in the Status pane. Click  <span class="uicontrol">Next</span>.</span>
</li>

<li class="stepexpand"><span>Web Service Proxy page: If you have selected to generate a proxy,
this page shows the options for the proxy. It lists the folder where the proxy
will be generated, and you can optionally create custom mappings between namespaces
and packages. Click  <span class="uicontrol">Next</span>.</span></li>

<li class="stepexpand"><span>Web Service Client Test page: Use this page to select the following
options: </span>
<ol type="a">
<li><span>Select your test facility. You can test the generated proxy
in the Universal Test Client or the Web Service Explorer, or you can generate
a sample Web service JSP.</span></li>

<li><span>If you selected to test the proxy through a JSP, you can select
the folder where the JSP will be located, and you can select the methods that
will be included in the JSP.</span></li>

<li><span>Select  <span class="uicontrol">Run test on server</span> to start the
server for you automatically.</span></li>

</ol>

</li>

<li class="stepexpand"><span>Web Service Publication page: If you have selected to publish your
Web service to a UDDI registry, use this page to launch the Web Services Explorer
and select the UDDI registry to which the Web service will be published. Click
 <span class="uicontrol">Finish</span>.</span></li>

</ol>

<div class="section">After the Web service has been created, the following may occur depending
on the options you selected: <ul>
<li>If you have selected to test the generated proxy using Web service JSPs,
the proxy is launched in a Web browser at the following URL: <samp class="codeph">http://localhost: <var class="varname">port</var>/ <var class="varname">WebProject</var>Client/sample<em>BeanName</em>/<var class="varname">WebServiceName</var>/TestClient.jsp</samp> You
can use this sample application to test the Web service by selecting a method,
entering a value for the method, and clicking  <span class="uicontrol">Invoke</span>.
The result of the method will display in the results pane.</li>

<li>If you have selected to test the generated proxy using the Universal Test
Client, it will be launched in a browser window at the following URL:  <tt class="sysout">http://localhost:9080/UTC/preload?object= <var class="varname">BeanPackage</var>. <var class="varname">BeanServiceProxy</var></tt>. In the Reference pane,
under Object References, expand the proxy stub to display the methods of the
Web service. Click the method you want to test, enter a value in the Parameters
pane, and click  <span class="uicontrol">Invoke</span>. The result will be generated
below.</li>

<li>If you have selected to test the Web service using the Web Services Explorer,
the Explorer will open. Select the operation you want to test, enter the required
information, and click  <strong>Go</strong>. The result will display in the Status pane.</li>

<li>If you have selected to publish the Web service, the Web Services Explorer
is launched displaying the page required to publish your Web service. Follow
the instructions in <var class="varname">Publishing the Web service</var> to complete
this task.</li>

</ul>
</div>

</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>

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

<div><a href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.html"> Developing Web services</a></div>
<div><a href="../../org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.html"> Using the Web Services Explorer</a></div></div>

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

<div><a href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.html">WSDL documents</a></div></div>
</div>

</body>
</html>