To generate Java stub code from the WSDL contract, you can use
either the ws2java command-line utility or the
cxf-codegen-plugin Maven plug-in. When using
Maven, the plug-in approach is ideal: after you paste the
requisite plug-in configuration into your POM file, the
WSDL-to-Java code generation step is integrated into your
build.
Configuring the WSDL-to-Java Maven plug-in is relatively easy,
because most of the default configuration settings can be left
as they are. After copying and pasting the sample
plugin element into your project's POM file,
there are just a few basic settings that need to be customized,
as follows:
CXF version—make sure that the plug-in's dependencies are using the latest version of Apache CXF.
WSDL file location—specify the WSDL file location in the
configuration/wsdlOptions/wsdlOption/wsdlelement.Location of output—specify the root directory of the generated Java source files in the
configuration/sourceRootelement.
For example, the following POM fragment shows how to configure
the cxf-codegen-plugin plug-in to generate Java
stub code from the CustomerService.wsdl WSDL
file:
<project ...>
...
<properties>
<cxf.version>2.4.2-fuse-00-05</cxf.version>
</properties>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
...
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${basedir}/target/generated-sources/jaxws</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/../src/main/resources/wsdl/CustomerService.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>With the sample configuration shown here, the generated Java
source code is written under the
target/generated-sources/jaxws directory. Note
that the client implementation is dependent on this generated
stub code—for example, the client invokes the proxy using
the generated CustomerService SEI.
If you are using an IDE such as Eclipse or Intellij's IDEA,
you need to make sure that the IDE is aware of the generated
Java code. For example, in Eclipse it is necessary to add the
target/generated-sources/jaxws directory to the
project as a source code directory.
You must ensure that the generated Java code is compiled and added to the deployment package. By convention, Maven automatically compiles any source files that it finds under the following directory:
BaseDir/target/generated-sources/Hence, if you configure the output directory as shown in the preceding POM fragment, the generated code is automatically compiled by Maven.
For full details of how to configure the Java-to-WSDL plug-in, see the Maven cxf-codegen-plugin reference page.








