JAX-RPC significa API Java™ para RCP baseado em XML, também conhecido como JSR 101. É uma especificação que descreve Interfaces de Programação da Aplicação (APIs - Application Programming Interfaces) Java e convenções para a construção de serviços Web e de clientes de serviços Web que utilizam chamadas de procedimento remotas (RCP - Remote Procedure Calls) e XML. O JAX-RCP normaliza o Java para correlações do WSDL e do WSDL Java e faculta os APIs de núcleo para o desenvolvimento de serviços Web e de clientes de serviços Web na plataforma Java. Frequentemente utilizado num modelo cliente/servidor distribuído, um mecanismo RCP permite que os clientes executem procedimentos noutros sistemas.
A edição actual do JAX-RPC requer um suporte de SOAP em vez de HTTP por questões de interoperacionalidade. A especificação SOAP define a estrutura de mensagens, regras de codificação e convenções para a permuta de informação no modelo de programação do RPC. Estas chamadas e respostas são transmitidas como sendo mensagens SOAP em vez de HTTP. Nesta edição, o JAX-RPC suporta o SOAP 1.1 e o HTTP 1.1. Para mais informações sobre o SOAP, consulte Protocolo Simples para Acesso a Objectos (SOAP).
Apesar de os mecanismos em tempo de execução subjacentes (como por exemplo, o Java para a serialização do WSDL, o WSDL para serialização do Java, o protocolo e o transporte) serem muito complexos, a API oculta a sua complexidade do programador de aplicações. No lado do servidor, o programador pode facultar uma Interface Terminal de Serviço (SEI - Service Endpoint Interface); em alternativa, uma SEI pode ser criada através da utilização de assistentes de serviços Web. Uma SEI é uma interface gravada numa linguagem de programação Java que especifica os procedimentos remotos de um serviço Web. O programador também faculta a implementação de um serviço Web, sob a forma de uma ou mais classes Java que implementam métodos com a mesma assinatura dos que se encontram na SEI. Os programas de clientes também são fáceis de codificar. Um cliente cria um proxy, um objecto local que represente uma implementação de serviço e a SEI e, em seguida, invoca métodos no proxy.
O JAX-RPC tem uma grande interoperacionalidade: um cliente JAX-RPC pode aceder a um serviço Web que não esteja a ser executado na plataforma Java e vice-versa. Esta flexibilidade é possível já que o JAX-RPC utiliza o SOAP em vez do HTTP e utiliza também a Linguagem de Descrição de Serviços Web (WSDL - Web Service Description Language). O JAX-RPC foi concebido para suportar a WS-I.
Para mais informações sobre o JAX-RPC, consulte especificações oficiais básicas do JSR.