<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
<meta http-equiv="content-type" content="" />
<title>Service Archive Generator Wizard Guide for Eclipse
Plug-in</title>
<link href="../../../css/axis-docs.css" rel="stylesheet" type=
"text/css" media="all" />
</head>
<body lang="en" xml:lang="en">
<h1>Service Archive Generator Wizard Guide for Eclipse Plug-in</h1>
<p>This document will guide you through the installation and usage
of the archive generator Eclipse plug-in.</p>
<p><a href="http://ws.apache.org/axis2/tools/index.html" target=
"_blank">[Download Plugin Tool]</a></p>
<h2>Content</h2>
<ul>
<li><a href="#intro">Introduction</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#operation">Operation</a></li>
</ul>
<a name="intro" id="intro"></a>
<h2>Introduction</h2>
<p>As part of the Axis2 tool set, the service archive generator is
an important tool that allows the generation of service archives
("aar" file or a "jar" files) that can be deployed as a web
services to the Axis2.</p>
<a name="installation" id="installation"></a>
<h2>Installation</h2>
<p>One can easily <a href=
"http://ws.apache.org/axis2/tools/index.html">download</a> the
plugin</p>
<p>If one needs to build the plug-in from source, Maven2 and Ant
builds arevailabe. Please refer the readme.txt located at
module/tools on Axis2 source.</p>
<p>Once you've obtained the plug-in just unzip the content of the
plug-in archive to the Eclipse plug-in directory (if it is the
zipped-binary version) or copy the necessary folders to the Eclipse
plug-in directory and restart Eclipse.</p>
<p><strong>NOTE</strong> : This plug-in works on Eclipse version
3.1 and upwards, also the java version should be 1.4 or higher. The
provided screen shots may slightly differ with what the user would
actually see but the functionality has not been changed.</p>
<a name="operation" id="operation"></a>
<h2>Operation</h2>
<p>If the plug-in is properly installed you should see a new wizard
under the "New" section. (Use the File -&gt; New -&gt; Other or
Ctrl + N )</p>
<p align="center"><img border="0" src=
"images/ServiceWizardSelection.jpg" /></p>
<p>Selecting the wizard and pressing the "Next" button will start
the service generator wizard. Following is the first page of the
wizard.</p>
<p><strong>Page 1:</strong></p>
<p align="center"><img border="0" src=
"images/ServicePage1.jpg" /></p>
<p>Once the class file folder(which should be a folder in the
file system) is browsed and selected, the "Next" button will be
enabled and you can move to the next page. Note that you have the
option of either including all the files or the class files only of
the folder on page 1.</p>
<p><strong>Page 2:</strong></p>
<p>Page 2 of the wizard as seen below requires you to locate/browse
the WSDL file. If you do not wish to add a WSDL file to the service
archive, select skip WSDL, else you can select the location of the
WSDL file by selecting the select WSDL option.</p>
<p align="center"><img border="0" src=
"images/service_page2.jpg" /></p>
<p><strong>Page 3:</strong></p>
<p>Select the services.xml file on this wizard page by browsing or
select the option of generating service xml automatically, after
which you can click "Next" button to go to the next page. Notice
how the browsing option disables when the "Generate service xml
automatically" check box is ticked.</p>
<p align="center"><img border="0" src=
"images/service_page3.jpg" /></p>
<!--
<p>Note that The service XML file can be generated if needed. To proceed
to the service generation page, check the "generate automatically" checkbox. </p>
<p align="center"><img border="0" src="service_page3_hl.jpg"></p>

<p>If the automatic mode is not selected then the wizard
will directly jump to the library selection page. However if the automatic mode is selected the wizard will show the
following page</p>
<p align="center"><img border="0" src="service_page4_plain.JPG" width="500" height="500"></p>
<p>This is a somewhat complicated page. The service name textbox should include the name of the service that you
wish to give this service. 
For the implementation class type in the fully qualified class name and hit the load button to view the operations</p>
<p align="center"><img border="0" src="service_page4_load.JPG" ></p>
<p> The loaded operations should be displayed in a table. Once this is displayed you can filter the methods by selecting/deselecting the methods using the checkbox at each row.</p>
<p align="center"><img border="0" src="service_page4_table.JPG" width="500" height="500"></p>
<p>Further filtering can be achieved by using the "search declared methods" only checkbox</p>
<p align="center"><img border="0" src="service_page4_search_declared.JPG" ></p>
<p>Once the method selection is complete the wizard has enough information to generate a basic services.xml file. If further customization is required, there's no choice but to manually edit it!</p>

-->
<p><strong>Page 4:</strong></p>
<!--START-->
<p>The next step is to add the libraries. The library addition page
looks like this :</p>
<p align="center"><img border="0" src=
"images/service_page5.jpg" /></p>
<p>The library name (with full path) can be either typed on the
text box or browsed for using the "Browse" button.</p>
<p align="center"><img border="0" src=
"images/service_page5_browsed.jpg" /></p>
<p>Once there is a library name with full path on the text box, hit
the "Add" button to add the library to the list. Added libraries
should be displayed in the "Added libraries" list box. This way you
can add as many external libraries as you wish. See the screen
shots below.</p>
<p align="center"><img border="0" src=
"images/service_page5_hl.jpg" /></p>
<p align="center"><img border="0" src=
"images/service_page5_added.jpg" /></p>
<p>If any added library needs to be removed, highlight it or in
other words, select it from the "Added libraries" list and hit on
the "Remove" button as shown below. Click on the "Next" button to
proceed to the last page of the wizard if the user did not select
to auto generate the services.xml file. If user select to auto
generate the services.xml file then the services.xml option page
will be displayed.</p>
<p align="center"><img border="0" src=
"images/service_page5_remove.jpg" /></p>
<p><strong>Page 5:</strong></p>
<p>This page only appears if the user select to generate the
services.xml at page 3 of the wizard. If the user have selected a
services.xml then the user will be directed to the last page of the
wizard.</p>
<p>After entering the correct service name and valid fully
qualified class name, try to load the existing methods of that
class by clicking the load button.</p>
<p align="center"><img border="0" src=
"images/service_page4_load.jpg" /></p>
<p>If successfully loaded the user will be presented with a table
at the bottom of the page with the details of the loaded class. By
checking and unchecking the user can select the necessary methods
to include in the services.xml</p>
<p align="center"><img border="0" src=
"images/service_page4_table.jpg" /></p>
<p>By clicking on the search declared method only check box, the
user can remove the inherited methods from the class. Click on the
"Next" button to proceed to the last page of the wizard</p>
<p align="center"><img border="0" src=
"images/service_page4_search_declared.jpg" /></p>
<p><strong>Page 6:</strong></p>
<p>The last page of the wizard asks for the output file location
and the output archive file name. To be able to finish the wizard,
user must enter valid output file location and output file
name.</p>
<p align="center"><img border="0" src=
"images/service_page6.jpg" /></p>
<p>Once all the parameters are filled, hit the "Finish" button to
complete the wizard and generate the service archive.</p>
<p align="center"><img border="0" src=
"images/success_msg.jpg" /></p>
<p>If you see the above message, then you've successfully generated
the service archive! This service archive can be hot deployed
(deployed at run time) to the axis2</p>
<h1>Appendix</h1>
<ul>
<li>Eclipse reference - <a href="http://www.eclipse.org/" target=
"_blank">http://www.eclipse.org/</a></li>
<li>Custom Ant Tasks - <a href=
"http://ant.apache.org/manual/develop.html" target=
"_blank">http://ant.apache.org/manual/develop.html</a></li>
</ul>
</body>
</html>
