This plugin can generate WSDL, server side code used to start web service and client side code from a java class.
Here is a simple example:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-java2ws-plugin</artifactId>
<version>${cxf.version}</version>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>${cxf.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>process-classes</id>
<phase>process-classes</phase>
<configuration>
<className>org.apache.hello_world.Greeter</className>
<genWsdl>true</genWsdl>
<verbose>true</verbose>
</configuration>
<goals>
<goal>java2ws</goal>
</goals>
</execution>
</executions>
</plugin>
Here are the options you can use and their defaults:
<configuration>
<className>...</className>
<classpath>...</classpath>
<outputFile>...</outputFile>
<genWsdl>true</genWsdl>
<genServer>false</genServer>
<genClient>false</genClient>
<genWrapperbean>false</genWrapperbean>
<frontend>jaxws</frontend>
<databinding>jaxb</databinding>
<serviceName>...</serviceName>
<soap12>false</soap12>
<targetNameSpace>...</targetNameSpace>
<verbose>false</verbose>
<quiet>false</quiet>
<attachWsdl>false</attachWsdl>
</configuration>
For detailed descriptions of the configuration elements see Java to WS page.
The outputFile value by default will be:
{project.build.directory}/generated/wsdl/{className}.wsdl