"Web service development tools automate the description of Java-based Web services in WSDL. Given a Java class file, tools such as Apache Axis can create a WSDL document, and, given a WSDL file, such tools can create Java source code that a service's users can then incorporate into their own programs. For finer-grained, programmatic access to WSDL definitions, you can use the JWSDL API developed under JRS 110. With JWSDL, Web service clients can dynamically invoke Web services based on those services' public interfaces or service types," says Frank Sommers in this JavaWorld.comm tutorial: