JAX-RPC stands for Java™ API for XML-based RPC, also known as JSR 101. It is a specification that describes Java Application Programming Interfaces (APIs) and conventions for building Web services and Web service clients that use remote procedure calls (RPC) and XML. It standardizes the Java to WSDL and WSDL to Java mappings, and provides the core APIs for developing Web services and Web service clients on the Java platform. Often used in a distributed client/server model, an RPC mechanism enables clients to execute procedures on other systems.
The current release of JAX-RPC requires the support of SOAP over HTTP for interoperability purposes. The SOAP specification defines message structure, encoding rules, and conventions for exchanging information in the RPC programming model. These calls and responses are transmitted as SOAP messages over HTTP. In this release, JAX-RPC supports SOAP 1.1 and HTTP 1.1. For more information on SOAP, refer to SOAP.
Although the underlying run-time mechanisms (for example, Java to WSDL serialization, WSDL to Java deserialization, protocol and transport) are very complex, the API hides this complexity from the application developer. On the server side, the developer can provide a Service Endpoint Interface (SEI); alternately an SEI can be created using the Web services wizrds. An SEI is an interface written in the Java programming language that specifies the remote procedures of a Web service. The developer also provides the implementation of a Web service, in the form of one or more Java classes that implement methods of the same signature as those on the SEI. Client programs are also easy to code. A client creates a proxy, a local object representing the service implementation and the SEI, and then simply invokes methods on the proxy.
JAX-RPC is highly interoperable: a JAX-RPC client can access a Web service that is not running on the Java platform and vice versa. This flexibility is possible because JAX-RPC uses SOAP over HTTP, and the Web Service Description Language (WSDL). JAX-RPC was designed to support WS-I.
For more information on JAX-RPC, refer to the official JSR 101 specifications.