This is due to late binding support and the many configuration options that WS-Policy and other WSDL functions bring to the table.
See the JAX-WS RI FAQ .
For a trivial case, yes, this is a little silly and adds some overhead. Once you get into a complex environment with several implementations working with slightly different configurations, that makes sense.
source share