JAX-RPC vuol dire Java™ API per RPC basate su XML, ed è anche noto come JSR 101. Si tratta di una specifica che descrive le API (Java Application Programming Interface) e le convenzioni per la generazione di servizi Web e client di servizi Web che utilizzano RPC (remote procedure call) e XML. Fornisce standard per le associazioni tra Java con WSDL e WSDL con Java e fornisce le API principali per lo sviluppo di servizi Web e client di servizi Web sulla piattaforma Java. Viene utilizzata spesso in modelli client/server distribuiti, dove un meccanismo RPC abilita i client a eseguire le procedure su altri sistemi.
Il release corrente di JAX-RPC richiede il supporto di SOAP su HTTP affinché ci sia interoperabilità. La specifica SOAP definisce la struttura del messaggio, le regole di codifica e le convenzioni per lo scambio di informazioni nel modello di programmazione RPC. Queste chiamate e risposte vengono trasmesse come messaggi SOAP su HTTP. In questo release, JAX-RPC supporta SOAP 1.1 e HTTP 1.1. Per ulteriori informazioni su SOAP, fare riferimento alla sezione SOAP (Simple Object Access Protocol).
Anche se i meccanismi di runtime (ad esempio seralizzazione da Java a WSDL, deserializzazione da WSDL a Java, protocollo e trasporto) sono molto complessi, l'API nasconde questa complessità allo sviluppatore dell'applicazione. Sul server, lo sviluppatore può fornire una SEI (Service Endpoint Interface); in alternativa è possibile creare una SEI con le procedure guidate dei servizi Web. Una SEI è un'interfaccia scritta nel linguaggio di programmazione Java che specifica le procedure remote di un servizio Web. Lo sviluppatore inoltre fornisce l'implementazione di un servizio Web, come una o più classi Java che implementano i metodi della stessa firma di quelli nella SEI. Anche i programmi client sono facili da codificare. Un client crea un proxy, un oggetto locale che rappresenta l'implementazione di un servizio e la SEI, e successivamente richiama semplicemente i metodi sul proxy.
JAX-RPC è interoperabile: un client JAX-RPC può accedere a un servizio Web non in esecuzione sulla piattaforma Java e viceversa. Questa flessibilità è possibile perché JAX-RPC utilizza SOAP su HTTP e WSDL (Web Service Description Language). JAX-RPC è stato progettato per supportare WS-I.
Per ulteriori informazioni su JAX-RPC, consultare le specifiche JSR 101 ufficiali.