<!--
  ~ 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>Maven2 Java2WSDL Plug-in Guide</title>
<link href="../../../css/axis-docs.css" rel="stylesheet" type=
"text/css" media="all" />
</head>
<body>
<h1>Maven2 Java2WSDL Plug-in Guide</h1>
<h2>Introduction</h2>
<p>This plugin takes as input a Java class and generates a WSDL,
which describes a Web service for invoking the classes methods.</p>
<p><a href="http://ws.apache.org/axis2/tools/index.html" target=
"_blank">[Download Plugin Tool]</a></p>
<h2>Goals</h2>
<p>The Java2WSDL plugin offers a single goal:</p>
<ul>
<li>java2wsdl (default): Reads a java class and generates a WSDL
for invoking the classes methods as a Web service.</li>
</ul>
<p>To run the plugin, add the following section to your <a href=
"http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">
POM</a> (Project Object Model):</p>
<pre>
  &lt;build&gt;
    &lt;plugins&gt;
      &lt;plugin&gt;
        &lt;groupId&gt;org.apache.axis2.maven2&lt;/groupId&gt;
        &lt;artifactId&gt;axis2-java2wsdl-maven-plugin&lt;/artifactId&gt;
        &lt;configuration&gt;
          &lt;className&gt;com.foo.myservice.MyHandler&lt;/className&gt;
        &lt;/configuration&gt;
        &lt;executions&gt;
          &lt;execution&gt;
            &lt;goals&gt;
              &lt;goal&gt;java2wsdl&lt;/goal&gt;
            &lt;/goals&gt;
          &lt;/execution&gt;
         &lt;/executions&gt;
      &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
  
</pre>
<p>The plugin will be invoked automatically in the
generate-resources phase. You can also invoke it directly from the
command line by running the command:</p>
<pre>
mvn axis2-java2wsdl:java2wsdl
</pre>
<h3>The Java2WSDL Goal</h3>
<p>By default, the plugin reads the given Java class and creates a
file
<strong>target/generated-resources/java2wsdl/service.wsdl
</strong>.
The Java class is given by the configuration element
<strong>className</strong> above.</p>
<h2>Configuration</h2>
<p>The Java2WSDL goal takes the following parameters as input. All
parameters can be set from the command line by using properties.
For example, the parameter "className" may be set using the
property "axis2.java2wsdl.className". If the parameter isn't set
via property or in the POM, then a default value applies.</p>
<table border="2">
<tbody>
<tr>
<td><strong>Parameter name</strong></td>
<td><strong>Command line property</strong></td>
<td><strong>Description</strong></td>
<td><strong>Default value</strong></td>
</tr>
<tr>
<td>className</td>
<td>${axis2.java2wsdl.className}</td>
<td>Fully qualified name of the class, which is being read and
transformed into a WSDL</td>
<td></td>
</tr>
<tr>
<td>outputFileName</td>
<td>${axis2.java2wsdl.outputFileName}</td>
<td>Path of the generated service file.</td>
<td></td>
</tr>
<tr>
<td>schemaTargetNamespace</td>
<td>${axis2.java2wsdl.schemaTargetNamespace}</td>
<td>Target namespace of the generated schema.</td>
<td></td>
</tr>
<tr>
<td>schemaTargetNamespacePrefix</td>
<td>${axis2.java2wsdl.schemaTargetNamespacePrefix}</td>
<td>Prefix, which is being associated with the schemas target
namespace.</td>
<td></td>
</tr>
<tr>
<td>serviceName</td>
<td>${axis2.java2wsdl.serviceName}</td>
<td>Name of the generated Web service.</td>
<td>Unqualified name of the input class.</td>
</tr>
<tr>
<td>targetNamespace</td>
<td>${axis2.java2wsdl.targetNamespace}</td>
<td>Target namespace of the generated WSDL</td>
<td>Default namespace</td>
</tr>
<tr>
<td>targetNamespacePrefix</td>
<td>${axis2.java2wsdl.targetNamespacePrefix}</td>
<td>Prefix, which is being associated with the target
namespace</td>
<td></td>
</tr>
</tbody>
</table>
</body>
</html>
