Here's the deal: you develop your complete Web API in source code. Make sure it's well-documented and that the metadata is correct, but don't worry about deployment descriptors, servlet configuration, packaging, or even interoperability.
Then invoke Enunciate.
Enunciate will build your web application and enforce its interoperability. And the app will include some impressive features, too:
Full user documentation
Consolidated, annotated WSDL(s) referencing a common set of schemas
The same endpoint(s) published via SOAP, REST, JSON, GWT-RPC, and AMF
Client-side libraries for download
Use Patent Claims
These details are provided for information only. No information here is legal advice and should not be used as such.