blob: ef2cbebc0d2bcbb82326dfafe9c20290ce1b6c1f [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2005, v.4002-->
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN"
"../../dtd/task.dtd">
<task id="twsbeana" xml:lang="en-us">
<title>Creating a Web service from a <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> bean using the Apache Axis run-time
environment</title>
<titlealts>
<searchtitle>Creating a Web service from a Java bean using the Apache Axis
run-time environment</searchtitle>
</titlealts>
<shortdesc>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.</shortdesc>
<taskbody>
<prereq><p>Prerequisites:<ol>
<li conref="tsklwsdla.dita#tsklwsdla/createtomcatlink"></li>
<li>Create or import a bean into the <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> source folder of the Web project.</li>
</ol></p></prereq>
<context>To create a Web service from a bean using the Apache Axis run-time
environment:</context>
<steps>
<step><cmd>Switch to the J2EE perspective ( <uicontrol>Window > Open Perspective
> J2EE</uicontrol>).</cmd></step>
<step><cmd>In the Project Explorer view, select the bean that you created
or imported into the source folder of your Web project.</cmd></step>
<step><cmd>Click <uicontrol>File > New > Other</uicontrol>.</cmd><info>Select<uicontrol>Web
Services</uicontrol> in order to display the various Web service wizards.
Select the <uicontrol>Web Service</uicontrol> wizard. Click <uicontrol>Next</uicontrol>.</info>
</step>
<step><cmd>Web Services page: select <uicontrol>Bottom up Java bean Web service</uicontrol> as
your Web service type. You can optionally choose to do the following: </cmd>
<info id="createstep4ul"><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 <tm tmclass="special" tmowner="Sun Microsystems, Inc." tmtype="tm"
trademark="Java">Java</tm> bean client proxy to the Web service. The <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm> 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 <xref
href="../../org.eclipse.wst.wsi.ui.doc.user/tasks/tmonitor.dita" scope="peer">Using
the TCP/IP Monitor to test Web services</xref></li>
</ul></info></step>
<step><cmd>Object selection page: select the <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> bean from which the Web service will
be created.</cmd></step>
<step><cmd>Service Deployment Configuration page: specify the server and client
deployment settings.</cmd>
<substeps>
<substep><cmd>Click <uicontrol>Edit</uicontrol> 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.</cmd></substep>
<substep><cmd>Select the Web project in which you want your Web service created,
and the EAR with which it will be associated. </cmd><info>The wizard will
create these for you if they do not already exist.</info></substep>
<substep><cmd>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 <tm tmclass="special"
tmowner="Sun Microsystems, Inc." tmtype="tm" trademark="Java">Java</tm>, EJB,
or Application Client project, you must select the <tm tmclass="ibm" tmowner="IBM Corporation"
tmtype="reg" trademark="WebSphere">WebSphere</tm> run-time environment for
your client.</cmd></substep>
<substep><cmd>Select an existing EAR or enter a unique name to associate the
Web service client with a different EAR than the Web service EAR. <b>Note:</b> 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.</cmd>
</substep>
</substeps>
</step>
<step><cmd>A message will display stating that you have made a WS-I non-compliant
selection.</cmd><info>The Apache Axis run-time environment is not WS-I compliant.
Select <uicontrol>Ignore</uicontrol>.</info></step>
<step><cmd>Web Service <tm tmclass="special" tmowner="Sun Microsystems, Inc."
tmtype="tm" trademark="Java">Java</tm> Bean Identity page: the Web service
URI and WSDL name will be listed.</cmd><info>You&nbsp; 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 <uicontrol>Next</uicontrol></info></step>
<step><cmd>Web Service Package to Namespace Mappings page: if you selected
<uicontrol>Define custom mapping for package to namespace</uicontrol> on
the previous panel, you can enter your custom mapping pairs on this panel
by clicking <uicontrol>Add</uicontrol>.</cmd></step>
<step><cmd>Web Service Test page: If you selected to test the Web service,
select the test facility for the generated Web service.</cmd><info>This will
open the Web service in the Web Services Explorer. Select the operation you
want to test, enter the required information, and click<uicontrol>Go</uicontrol>.
The result will display in the Status pane. Click <uicontrol>Next</uicontrol>.</info>
</step>
<step><cmd>Web Service Proxy page: if you have selected to generate a proxy,
select if you want to customize the package to namespace mappings.</cmd></step>
<step><cmd>Web Service Client Test page: Use this page to select the following
options: </cmd>
<substeps>
<substep><cmd>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.</cmd></substep>
<substep><cmd>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.</cmd></substep>
<substep><cmd>Select <uicontrol>Run test on server</uicontrol> to start the
server for you automatically.</cmd></substep>
</substeps>
</step>
<step><cmd>Web Service Publication page: Select whether or not you want to
publish this Web service to a UDDI registry. Click <uicontrol>Finish</uicontrol>.&nbsp;</cmd>
<info>Note: you may see a warning stating <codeph>Error in generating WSDL
from Java. ClassNotFound: &lt;bean name></codeph>. This error can be safely
ignored.</info></step>
</steps>
<result><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: <varname>port</varname>/ <varname>WebProject</varname>Client/sample<i
>BeanName</i>/ <varname>WebServiceName</varname>/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 <uicontrol>Invoke</uicontrol>. 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: <systemoutput>http://localhost:9080/UTC/preload?object= <varname>BeanPackage</varname
>. <varname>BeanServiceProxy</varname></systemoutput>. 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 <uicontrol>Invoke</uicontrol>. 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 <b>Go</b>. 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 <varname>Publishing the Web service</varname> to complete
this task.</li>
</ul></p><p> <uicontrol>Important:</uicontrol> 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.&nbsp; For more information on the Universal Test Client, refer
to the Server tools online help.</p></result>
</taskbody>
<related-links>
<linklist><title>Related Concepts</title>
<link href="../../org.eclipse.jst.ws.doc.user/concepts/cwsinwsa.dita" scope="peer">
<linktext> Tools for Web services development</linktext></link>
<link href="../../org.eclipse.jst.ws.doc.user/concepts/cws.dita" scope="peer">
<linktext>Web services development</linktext></link>
</linklist>
<linklist><title>Related Tasks</title>
<link href="../../org.eclipse.jst.ws.doc.user/tasks/toverws.dita" scope="peer">
<linktext> Developing Web services</linktext></link>
<link href="../../org.eclipse.jst.ws.consumption.ui.doc.user/tasks/tuddiexp.dita"
scope="peer"><linktext> Using the Web Services Explorer</linktext></link>
</linklist>
<linklist><title>Related Reference</title>
<link href="../../org.eclipse.jst.ws.doc.user/ref/rwsdl.dita" scope="peer">
<linktext>WSDL documents</linktext></link>
</linklist>
</related-links>
</task>