JAX-RPC significa Java™ API for XML-based RPC, também conhecido como JSR 101. É uma especificação que descreve APIs (interfaces de programação de aplicativos) Java e convenções para construir serviços da Web e clientes de serviços da Web que utilizam chamadas de procedimento remoto (RPC) e XML. Ela padroniza os mapeamentos de Java para WSDL e de WSDL para Java, e fornece as APIs de núcleo para desenvolver serviços da Web e clientes de serviços da Web na plataforma Java. Muitas vezes utilizado em um modelo de cliente/servidor distribuído, um mecanismo RPC permite aos clientes executar procedimentos em outros sistemas.
O release atual do JAX-RPC requer o suporte de SOAP sobre HTTP para fins de interoperabilidade. A especificação SOAP define a estrutura de mensagens, as regras de codificação e as convenções para troca de informações no modelo de programação RPC. Essas chamadas e respostas são transmitidas como mensagens SOAP sobre HTTP. Neste release, o JAX-RPC suporta SOAP 1.1 e HTTP 1.1. Para obter informações adicionais sobre o SOAP, consulte SOAP.
Embora os mecanismos de tempo de execução subjacentes (por exemplo, serialização de Java para WSDL, desserialização de WSDL para Java, protocolo e transporte) sejam muito complexos, a API oculta essa complexidade do desenvolvedor de aplicativos. No lado do servidor, o desenvolvedor pode fornecer uma SEI (Service Endpoint Interface); como alternativa, uma SEI pode ser criada utilizando os assistentes de serviços da Web. Uma SEI é uma interface escrita na linguagem de programação Java que especifica os procedimentos remotos de um serviço da Web. O desenvolvedor também fornece a implementação de um serviço da Web, na forma de uma ou mais classes Java que implementam métodos da mesma assinatura que os da SEI. Programas clientes também são fáceis de codificar. Um cliente cria um proxy, um objeto local que representa a implementação de serviço e a SEI, e depois simplesmente chama os métodos no proxy.
O JAX-RPC é altamente interoperável: um cliente JAX-RPC pode acessar um serviço da Web que não está em execução na plataforma Java, e vice-versa. Essa flexibilidade é possível porque o JAX-RPC utiliza o SOAP sobre HTTP, bem como o WSDL (Web Service Description Language). O JAX-RPC foi projetado para suportar WS-I.
Para obter mais informações sobre JAX-RPC, consulte as especificações oficiais do JSR 101.