The Java API for XML-Based Remote Procedure Call (JAX-RPC) is an important step forward in the quest for Web services interoperability across heterogeneous platforms and languages.
JAX-RPC provides a uniform APIs that enables developers to create Web service clients and access Web service servers based on SOAP. JAX-RPC provides an easy way to develop programming model for development of SOAP based Web service. The developers are not exposed to the complexity of the underlying runtime mechanisms (for example, SOAP protocol level mechanisms, marshalling and unmarshalling). A JAX-PRC runtime system (a library) abstracts these runtime mechanisms for the Web service programming model.
JAX-RPC was originally developed under JSR 101 and is currently being developed under JSR 224 for JAX-RPC 2.0. A developer using JAX-RPC
can either consume a remote Web service as a client or expose a Web
service from the server side. The resulting code is RPC protocol
independent. Web service based RPC protocols such as SOAP can be
plugged into the JAX-RPC framework as needed. The 2.0 version of
JAX-RPC is being increasingly integrated with the 2.0 version of the
JAXB specification.