 ------
 Maven 2 Java2WSDL Plugin: configuration examples
 ------
 Jochen Wiedmann 
 <jochen.wiedmann@gmail.com>
 ------

Goals

  The Java2WSDL plugin offers a single goal:

   * java2wsdl (default): Reads a java class and generates a WSDL for invoking the classes methods as a web service.

  To run the plugin, add the following section to your POM:

------------------------
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.axis2.maven2</groupId>
        <artifactId>axis2-java2wsdl-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>java2wsdl</goal>
            </goals>
          </execution>
          <configuration>
            <className>com.foo.myservice.MyHandler</className>
          </configuration>
        </executions>
      </plugin>
    </plugins>
  </build>
------------------------

  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

+--------
  mvn java2wsdl:java2wsdl
+---------


The Java2WSDL Goal

  By default, the plugin reads the given Java class and creates a
  file <<<target/generated-resources/java2wsdl/service.xml>>>. The
  Java class is given by the configuration element <<<className>>>
  above.

  See the detailed documentation on {{{configuration.html}properties}} for
  how to configure the goal.
