<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20220714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; Axis2 Plug-in Guide for IntelliJ IDEA</title>
    <link rel="stylesheet" href="../../css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="../../css/site.css" />
    <link rel="stylesheet" href="../../css/print.css" media="print" />
      <script type="text/javascript" src="../../js/apache-maven-fluido-1.6.min.js"></script>
<meta name="generator" content="HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" /><meta http-equiv="content-type" content="text/html; charset=us-ascii" /><meta content="text/html; charset=iso-8859-1" /><meta name="generator" content="Bluefish 1.0.6" />      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/></a></div>
        <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/axis.jpg" /></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
        <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../../index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
    <li class="active ">Axis2 Plug-in Guide for IntelliJ IDEA</li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Axis2/Java</li>
    <li><a href="../../index.html" title="Home"><span class="none"></span>Home</a>  </li>
    <li><a href="../../download.html" title="Downloads"><span class="none"></span>Downloads</a>  </li>
    <li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
      <ul class="nav nav-list">
    <li><a href="../../release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a>  </li>
    <li><a href="../../release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a>  </li>
    <li><a href="../../release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a>  </li>
    <li><a href="../../release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a>  </li>
    <li><a href="../../release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a>  </li>
    <li><a href="../../release-notes/1.7.1.html" title="1.7.1"><span class="none"></span>1.7.1</a>  </li>
    <li><a href="../../release-notes/1.7.2.html" title="1.7.2"><span class="none"></span>1.7.2</a>  </li>
    <li><a href="../../release-notes/1.7.3.html" title="1.7.3"><span class="none"></span>1.7.3</a>  </li>
    <li><a href="../../release-notes/1.7.4.html" title="1.7.4"><span class="none"></span>1.7.4</a>  </li>
    <li><a href="../../release-notes/1.7.5.html" title="1.7.5"><span class="none"></span>1.7.5</a>  </li>
    <li><a href="../../release-notes/1.7.6.html" title="1.7.6"><span class="none"></span>1.7.6</a>  </li>
    <li><a href="../../release-notes/1.7.7.html" title="1.7.7"><span class="none"></span>1.7.7</a>  </li>
    <li><a href="../../release-notes/1.7.8.html" title="1.7.8"><span class="none"></span>1.7.8</a>  </li>
    <li><a href="../../release-notes/1.7.9.html" title="1.7.9"><span class="none"></span>1.7.9</a>  </li>
    <li><a href="../../release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a>  </li>
      </ul>
  </li>
    <li><a href="../../modules/index.html" title="Modules"><span class="none"></span>Modules</a>  </li>
    <li><a href="../../tools/index.html" title="Tools"><span class="none"></span>Tools</a>  </li>
          <li class="nav-header">Documentation</li>
    <li><a href="../../docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a>  </li>
    <li><a href="../../docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a>  </li>
    <li><a href="../../docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a>  </li>
    <li><a href="../../docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a>  </li>
    <li><a href="../../docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a>  </li>
    <li><a href="../../docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a>  </li>
    <li><a href="../../docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a>  </li>
    <li><a href="../../docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a>  </li>
    <li><a href="../../docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a>  </li>
          <li class="nav-header">Resources</li>
    <li><a href="../../faq.html" title="FAQ"><span class="none"></span>FAQ</a>  </li>
    <li><a href="../../articles.html" title="Articles"><span class="none"></span>Articles</a>  </li>
    <li><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a>  </li>
    <li><a href="../../refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a>  </li>
    <li><a href="../../apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a>  </li>
          <li class="nav-header">Get Involved</li>
    <li><a href="../../overview.html" title="Overview"><span class="none"></span>Overview</a>  </li>
    <li><a href="../../git.html" title="Checkout the Source"><span class="none"></span>Checkout the Source</a>  </li>
    <li><a href="../../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a>  </li>
    <li><a href="../../release-process.html" title="Release Process"><span class="none"></span>Release Process</a>  </li>
    <li><a href="../../guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a>  </li>
    <li><a href="../../siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a>  </li>
          <li class="nav-header">Project Information</li>
    <li><a href="../../team-list.html" title="Project Team"><span class="none"></span>Project Team</a>  </li>
    <li><a href="../../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a>  </li>
    <li><a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a>  </li>
    <li><a href="../../thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</a>  </li>
          <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a>  </li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a>  </li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
    <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../../images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<html xmlns="http://www.w3.org/1999/xhtml">


<h1>Axis2 Plug-in Guide for IntelliJ IDEA</h1>

<p>This document explains the installation and usage of Axis2
plug-in for IntelliJ IDEA.</p>

<p><a href="../../download.html">[Download
Plug-in]</a></p>
<section>
<h2><a name="Content"></a>Content</h2>

<ul>

<li><a href="#intro">Introduction</a></li>

<li><a href="#installation">Installation</a></li>

<li><a href="#WSDL2Java_Code_Generation">WSDL2Java Code
Generation</a></li>

<li><a href="#Create_Service_Archive">Create a Service Archive</a>

<ul>

<li><a href="#sub12">Sub Wizard 1 &amp; Sub Wizard 2</a></li>

<li><a href="#sub3">Sub Wizard 3</a></li>
</ul>
</li>
</ul>
<a name="intro" id="intro"></a>
<section>
<h2><a name="Introduction"></a>Introduction</h2>

<p>The Axis2 plug-in for IntelliJ IDEA helps users to create
service archives which can be deployed in Axis2, and generate java
classes files from WSDL files. The following section describes the
installation procedure followed by the usage of the plug-in.</p>

<p><b>Note:</b> This plug-in is made up with IDEA Open API which will be
compatible with idea version since build 4121. The plugin also be
compatible with all the builds after build number 4121 and 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="installation" id="installation"></a>
<section>
<h2><a name="Installation"></a>Installation</h2>

<p>First <a href="../../download.html">download</a> the
plug-in which is a zipped file, and extract it into plugins
directory which is located in the directory where IDEA is
installed. If a previous version of the plug-in resides in this
directory you will have to delete it prior to extracting the new
zip file. If you have extracted the file correctly you would see a
directory called axis2-idea-plugin.</p>

<p>Next step is to restart IDEA so that the changes can take place.
If the plug-in has been installed correctly, you will see following
icons in IDEA when it is restarted.</p>

<p><img src="images/idea-icons.jpg" alt="Figure 1" /></p>

<p>Also if you right-click on the IDEA editor you would see a link
to the same plug-in.</p>

<p><img src="images/idea-popup.jpg" alt="Figure2" /></p>

<p>When you click on either one of them, a window (Page 1) will
appear asking you to select one of the following two options.</p>

<ol style="list-style-type: decimal">

<li><a href="#Create_Service_Archive">Create a service
archive</a></li>

<li><a href="#WSDL2Java_Code_Generation">WSDL2Java code
generation</a></li>
</ol>

<p><b>Page 1:</b></p>

<p><img src="images/fig1.jpg" alt="Figure3" /></p>

<p>If you want to create a service archive obviously you must
select &quot;Create a service archive&quot; option. Like wise, if u want to
generate java class file from a WSDL file you must select the radio
button option &quot;WSDL2Java code generation&quot;.</p>
<section>
<h2><a name="WSDL2Java_Code_Generation" id="WSDL2Java_Code_Generation">WSDL2Java Code Generation</a></h2>

<p>Select &quot;WSDL2Java code generation&quot; and click on the button &quot;OK&quot;
to generate code from a WSDL file. Then the following window will
appear.</p>

<p><b>WSDL2Java Page 2:</b></p>

<p><img src="images/fig2.jpg" alt="Figure4" /></p>

<p>Once the WSDL file is selected you will be able to move onto the
next page. The &quot;Browse&quot; button can be used to easily browse for a
file rather than having to type the whole path.</p>

<p>Once the WSDL file is selected, click on the &quot;Next&quot; button which
will take you to the page below.</p>

<p><b>WSDL2Java Page 3:</b></p>

<p>This page gives the user the option of selecting default or
custom code generation options. There are three default code
generation options in all. The first enables the user to generate
both client and server code under default configurations while the
second generates just the client side under default configurations.
The third option generates server side code under default
configurations.</p>

<p><b>Note:</b></p>

<ul>

<li>When client side code is generated under default configurations
it generates the stub, compiles it, packages it as a jar (the name
of the jar will be &lt;service name &gt;-jar) places it in a lib
folder (If there is no lib folder, it is created) under the IDEA
project that is opened. This jar that's generated will also be
added as a project library to the current active IDEA project.</li>

<li>When server code is generated under default configurations it
generates the server side code and also generates a default
service.xml. The user will then be taken to page 5.</li>

<li>When both server and client side is generated under default
configurations the client stub is added are a jar to the current
IDEA project and the user is taken to page 5.</li>
</ul>

<p><img src="images/fig19.jpg" alt="Figure5" /></p>

<p><b>WSDL2Java Page 4:</b></p>

<p><b>Codegen options</b> are to be selected here. By far
this is the most important page in this wizard, which determines
the characteristics of the code being generated.</p>

<p><img src="images/fig18.jpg" alt="Figure5" /></p>

<p><b>Here's some information on the options for
selection:</b></p>

<ul>

<li>Output language can be Java, C#. But we have not fully tested
C# codegeneration, therefore, it is better to select Java as output
language.</li>

<li>If the WSDL comprises of several services, the user can select
the service for which the code should be generated for.</li>

<li>If the WSDL comprises of several ports for a particullar
service, the user can select the port which the code should be
generated for.</li>

<li>The default data binding type is adb (Axis2 Data Binding).
Although the tool is capable of providing XML beans, due to class
loading issues in XML beans, current implementation only generate
code with OM and ADB.</li>

<li>As for the package name of the generated code, you can set the
name as you wish.</li>

<li>Users can select the one out of the three options- &quot;Generate
Client Side&quot;, &quot;Generate Server Side&quot; and &quot;Generate All&quot;. The user
will be able to select further options based on his options
selected here. These sub options are explained below.</li>

<li style="list-style: none; display: inline">

<ul>

<li>If user selects &quot;Generate Client Side&quot;, he can further select
the service invocation style. Since Axis2 supports both synchronous
and asynchronous client programming model, the tool has provided a
way to selecting the invocation style.</li>

<li>If user selects &quot;Generate Server Side&quot;, he can also generate a
default service XML file. If the user selects &quot;Generate an
interface for skeleton&quot; option then it only generates an interface
for the server side. If so the user has to implement this
interface. If this option is not selected, the skeleton class is
generated, which the user can fill in later on.</li>

<li>If user selects &quot;Generate All&quot; option, then all the classes
will be generated in the referenced schemas by the WSDL
irrespective of elements referred by the WSDL, along with the
client side code.</li>
</ul>
</li>

<li>The dafault behaviour of the code generator is to map
namespaces to package names logically, but if the user wishes to
change the package names of the generated classes, he can do so by
changing the values in the Namespace to Packagename mapping
table.</li>
</ul>

<p>With these enhanced options novices need not worry about the
options that can be set as the default options cover the most
common cases. Advanced users will find it very easy to turn the
knobs using the custom generation option.</p>

<p><b>WSDL2Java Page 5:</b></p>

<p><img src="images/fig3.jpg" alt="Figure6" /></p>

<p>Here uses have the option of adding the generated code directly
to their working IDEA project or choose a custom location. If the
user decides to add it to the current IDEA project he/she will have
to choose the module and the source directory that the code should
be generated to.</p>

<p>Alternatively the user can browse and select the output
location/path (the location at which the code is to be generated)
using the &quot;Browse&quot; button. Because of the &quot;Browse&quot; button you do
not need to type in the output file path.</p>

<p><img src="images/fig4.jpg" alt="Fig4" /></p>

<p>Once an output location is selected you can click on &quot;Finish&quot;
button which will generate the java class file. If code generation
is successful then a message box will appear acknowledging this
fact a shown above.</p>

<p><a name="Create_Service_Archive" id="Create_Service_Archive"></a></p>
<section>
<h2><a name="Create_a_Service_Archive"></a>Create a Service Archive</h2>

<p>Select the &quot;Create a service archive&quot; radio button on Page 1 of
Axis2 IDEA plug-in wizard.</p>

<p><b>Page 1:</b></p>

<p><img src="images/fig1.jpg" alt="Fig5" /></p>

<p><b>Service Archive Page 2:</b></p>

<p>The page below will appear asking the user to select the archive
type</p>

<p><img src="images/fig6.jpg" alt="fig6" /></p>

<p>In Axis2, the user can deploy a single service or a service
group. Therefore, you can select either &quot;Single service archive&quot; or
&quot;Service group archive&quot; for the archive type you want to
create.</p>

<p>If you already have a services.xml you can skip some of the
steps in the wizard by selecting the radio button option &quot;I already
have services.xml&quot; and clicking on &quot;Next&quot; button. If you do not
have the services.xml, select the radio button option &quot;Generate
services.xml&quot; and click on the &quot;Next&quot; button, in which case the
tool will create the services.xml for you.</p>

<p>Depending on the options you selected on this page there can be
three sub wizards:</p>

<ol style="list-style-type: decimal">

<li><a href="#sub12">Sub wizard 1</a> (Generate single service and
its services.xml)</li>

<li><a href="#sub12">Sub wizard 2</a> (Generate service group and
its services.xml)</li>

<li><a href="#sub3">Sub wizard 3</a> (Generate service/service
group using already existing services.xml)</li>
</ol>

<p>1 &amp; 2 follow the same set of steps except for some looping
mechanism in the middle of the wizard.</p>
<a name="sub12" id="sub12"></a>
<section>
<h3><a name="Sub_Wizard_1_and_Sub_Wizard_2"></a>Sub Wizard 1 and Sub Wizard 2</h3>

<p><b>Service Archive (sub wizards 1 &amp; 2) Page
3:</b></p>

<p>From this page you have to select the location of the service
classes directory (the location of the compiled classes). You do
not need to type path, simply browse and select.</p>

<p><img src="images/fig7.jpg" alt="fig7" /></p>

<p>When you click on &quot;Next&quot; button, wizard will move to the page
below</p>

<p><b>Service Archive (sub wizards 1 &amp; 2) Page
4:</b></p>

<p>Here you select service specific external libraries (third party
libraries) and service WSDL files. If you want to add multiple WSDL
files to a single service type you can do that as well.</p>

<p><img src="images/fig8.jpg" alt="fig8" /></p>

<p>To add libraries first click on the browse button to browse for
library files and then click on the &quot;Add&quot; button. Once added the
selected file will appear in the list box.</p>

<p>To add WSDLs, first click on the browse button to browse for
WSDL file and then click the &quot;Add&quot; button to add the file to the
list.</p>

<p>After adding external libraries and service WSDL files click on
the &quot;Next&quot; button to move to next page.</p>

<p><b>Service Archive (sub wizards 1 &amp; 2) Page
5:</b></p>

<p>This page allows you to select service implementation class. In
the case of service group, same page will be looped to select
multiple service implementation classes. This process is explained
in detail below.</p>

<p>Select a service implementation class by browsing and clicking
on the &quot;Load&quot; button to load all the public methods in that class,
after which you can select the methods that you want to publish
using the check boxes.</p>

<p><b>Note :</b> If you do not select the correct class
path from the &quot;Class location selection&quot; window, the public methods
which are available in the selected class file will not be
loaded.</p>

<p><img src="images/fig10.jpg" alt="fig10" /></p>

<p>In &quot;Service Name&quot; text box you can type the name of the service
you want, but remember that the service name should be unique
throughout the system.</p>

<p>When you have completed this particular service click on the
button &quot;Next&quot;. In the case of a service group when you click on the
&quot;Next&quot; button for that particular service the following dialog box
will appear with option to add more service(s) to a service
group.</p>

<p><img src="images/fig11.jpg" alt="fig11" /></p>

<p>If you click on &quot;Yes&quot;, you have to follow the same procedure to
add some other service(s) to service group.</p>

<p>If you click on &quot;No&quot;, the button &quot;Next&quot; will be enabled and you
can go to next page.</p>

<p><a name="Note" id="Note"><b><i>Note: From this point
onwards the steps are similar to all the sub
wizards.</i></b></a></p>

<p><b>Service Archive (sub wizards 1 &amp; 2) Page
6:</b></p>

<p>This page displays the services.xml file, either the one given
by you (in the case of I already have services.xml)
or the one generated by the system (in the case of &quot;generate
services.xml&quot;)</p>

<p><img src="images/fig12.jpg" alt="fig12" /></p>

<p>This page is editable and provide a way to add parameters and
module references to any level.</p>

<p><b>Note :</b> When you click on either the
&quot;+Parameter&quot; or the &quot;+ModuleRef&quot; buttons remember that
corresponding text will be added to the current mouse position.
Therefore, click on the location you want to add the parameter or
module references and then click relevant button (+Parameter or
+ModuleRef).</p>

<p><b>+Parameter button:</b></p>

<p>If you click on the &quot;+Parameter&quot; button a window will appear
asking to give parameter name and parameter value.</p>

<p><img src="images/fig13.jpg" alt="fig13" /></p>

<p>Note that you can also manually add parameters (without clicking
on the &quot;+Parameter&quot; button ) to any where in the document as you
wish.</p>

<p><b>+ModuleRef button:</b></p>

<p>Likewise, adding module references can be done by clicking on
the &quot;+ModuleRef&quot; button in the page. You have to type the name of
the module to be engaged as shown in the following figure.</p>

<p><img src="images/fig14.jpg" alt="fig14" /></p>

<p>When you complete this page press the &quot;Next&quot; button to go to
final page.</p>

<p><b>Service Archive (sub wizards 1 &amp; 2) Page
7:</b></p>

<p><img src="images/fig15.jpg" alt="fig15" /></p>

<p>Next step is to select output file location, the location in
which archive file should be created.</p>

<p>In the &quot;Archive Name&quot; text box, type the name of the archive
file you want to place. This name will finally become the service
group name.</p>

<p><b>Note :</b> Do not include file extension when you
type archive name. System will generate that for you.</p>

<p>When you are done, click the &quot;Finish&quot; button. If everything has
been done successfully you will see following message.</p>

<p><img src="images/fig16.jpg" alt="fig16" /></p>

<p><b><i>Note: Pages 6 &amp; 7 of sub wizards 1 &amp; 2 are
common to sub wizard 3 from its page 3 onwards.</i></b></p>
<a name="sub3" id="sub3"></a>
</section><section>
<h3><a name="Sub_Wizard_3"></a>Sub Wizard 3</h3>

<p>In the case where services.xml is already available, the steps
are as follows:</p>

<p><b>Service Archive (sub wizard 3) Page 3:</b></p>

<p><img src="images/fig17.jpg" alt="fig17" /></p>

<p>This page allows you to select both location of services.xml and
the location of service classes directory. Click on the &quot;Select&quot;
buttons and browse the file system to find required document and
location.</p>

<p>Click on the &quot;Next&quot; button which will take you to a page which
allows you to add third party libraries and WSDL's in the same
manner as &quot;Sub Wizard 1 &amp; Sub Wizard 2&quot; section's <a href="#Note">Page 6 - Edit service descriptors</a>. Note that Sub Wizard
3 from this point takes the same pages as 6 to 7 of Sub Wizards 1
&amp; 2.</p>
</section>
</html>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>