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
Etc.
Commercial Use
Modify
Distribute
Place Warranty
Sub-License
Private Use
Use Patent Claims
Hold Liable
Use Trademarks
Include Copyright
State Changes
Include License
Include Notice
These details are provided for information only. No information here is legal advice and should not be used as such.