JAX-WS uses JAXB for data binding through the XJC binding compiler. A feature of XJC is its extensibility, which can be used to enhance the generated code via XJC plugins. Below is an example of this by using the JAXB2 Basics plugins.
<project>
...
<dependencies>
...
<!-- to compile xjc-generated sources -->
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics-runtime</artifactId>
<version>0.6.4</version>
</dependency>
</dependencies>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.6</version>
<dependencies>
<!-- put the XJC plugins on the jaxws-maven-plugin's classpath -->
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.6.4</version>
</dependency>
</dependencies>
<configuration>
<!-- tell JAXB to actually use the XJC plugins -->
<xjcArgs>
<xjcArg>-Xequals</xjcArg>
<xjcArg>-XtoString</xjcArg>
</xjcArgs>
</configuration>
<executions>
<execution>
<id>jaxws-wsimport</id>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
<configuration>
<wsdlUrls>
<wsdlUrl>http://footballpool.dataaccess.eu/data/info.wso?WSDL</wsdlUrl>
</wsdlUrls>
</configuration>
</executions>
</plugin>
</plugins>
...
<build>
...
</project>