JAX-RPC (Java API for XML-based RPC) supports bidirectional code generation. Developers can use tooling like wscompile to generate Java client/server stubs from an existing WSDL document (top-down), or generate a WSDL definition from Java source files (bottom-up).