blob: cee53bf6a7411804dcdb84dab1e3407a1454e7c9 [file] [log] [blame]
<!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>
<link rel="stylesheet" type="text/css" href="../../org.eclipse.wst.doc.user/common.css" />
<title>Creating a Web service from a Java bean using the Apache Axis
run-time environment</title>
</head>
<body id="twsbeana"><a name="twsbeana"><!-- --></a>
<h1 class="topictitle1">Creating a Web service from a Java bean using the Apache Axis run-time
environment</h1>
<div><p>The Web Service wizard assists you in creating a new Web service,
configuring it for deployment, and deploying the Web service to a server.
Once your Web service is deployed, the wizard assists you in generating the
client proxy and sample application to test the Web service. When you have
completed testing, you can publish your Web service to a UDDI Business Registry
using the Export wizard.</p>
<div class="p"><div class="p">Prerequisites:<ol><li>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 bean into the Java™ source folder of the Web project.</li>
</ol>
</div>
</div>
<div class="section">To create a Web service from a bean using the Apache Axis 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 bean that you created
or imported into the source folder of your Web project.</span></li>
<li class="stepexpand"><span>Click <span class="uicontrol">File &gt; New &gt; Other</span>.</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>.</li>
<li class="stepexpand"><span>Web Services page: select <span class="uicontrol">Bottom up 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">../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.html</a></li>
</ul>
</li>
<li class="stepexpand"><span>Object selection page: select the Java bean from which the Web service will
be created.</span></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,
and the EAR with which it will be associated. </span> The wizard will
create these 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 and SOAP
run-time 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>
<li class="substepexpand"><span>Select an existing EAR or enter a unique name to associate the
Web service client with a different EAR than the Web service EAR. <strong>Note:</strong> Selecting
different EARs for the Web service and Web service client can reduce the chance
of encountering run time errors, but will use more system resources.</span></li>
</ol>
</li>
<li class="stepexpand"><span>A message will display stating that you have made a WS-I non-compliant
selection.</span> The Apache Axis run-time environment is not WS-I compliant.
Select <span class="uicontrol">Ignore</span>.</li>
<li class="stepexpand"><span>Web Service Java Bean Identity page: the Web service
URI and WSDL name will be listed.</span> You  have the following
options:<ul><li>Select the methods to expose.</li>
<li>Select the encoding style. RPC/Encoded is the recommended encoding style
for the Axis run-time environment. This encoding method is not WS-I compliant.</li>
<li>Select if you want to customize the package to namespace mappings.</li>
</ul>
Click <span class="uicontrol">Next</span></li>
<li class="stepexpand"><span>Web Service Package to Namespace 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>.</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.</span> 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>.</li>
<li class="stepexpand"><span>Web Service Proxy page: if you have selected to generate a proxy,
select if you want to customize the package to namespace mappings.</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: Select whether or not you want to
publish this Web service to a UDDI registry. Click <span class="uicontrol">Finish</span></span> Note: you may see a warning stating <samp class="codeph">Error in generating WSDL
from Java. ClassNotFound: &lt;bean name&gt;</samp>. This error can be safely
ignored.</li>
</ol>
<div class="section"><div class="p">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: http://localhost: <var class="varname">port</var>/ <var class="varname">WebProject</var>Client/sample<em>BeanName</em>/ <var class="varname">WebServiceName</var>/TestClient.jsp 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 to the IBM<sup>®</sup> UDDI
Test Registry. Follow the instructions in <var class="varname">Publishing the Web service</var> to
complete this task.</li>
</ul>
</div>
<p> <span class="uicontrol">Important:</span> If your methods contain types,
not supported by the sample, such as arrays, indexed properties, and collections,
the methods will be omitted from the sample and you will receive a warning
message.</p>
<p>Once you have created your Web service from a bean, you may
test the methods of your Web service, using the Universal Test Client, and
then publish your Web service to a UDDI Business Registry. For more information
on publishing your Web service using the Web Services Explorer, refer to Publishing
a Web service.  For more information on the Universal Test Client, refer
to the Server tools online help.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="../concepts/caxistover.html" title="This run-time environment is for users who prefer to develop for the open Apache Axis platform. It is for non-production use only. Axis is the third generation of the Apache SOAP implementation.  It evolved from Apache SOAP (which began at IBM as SOAP4J) to make the SOAP engine more flexible, configurable, and able to handle both SOAP and the upcoming XML Protocol specification from the W3C open-source effort.">Creating Web services with the Apache Axis run-time environment</a></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="../../org.eclipse.jst.ws.doc.user/concepts/cruntime.html"> Web services run-time environments</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>
<p>
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
</p>
</body>
</html>