JAX-RPC står för Java API for XML-based RPC, även kallat JSR 101. Det är en specifikation som beskriver Java-programmeringsgränssnitt (APIer) och metoder för bygge av webbtjänster och webbtjänsteklienter som använder fjärrproceduranrop (RPC) och XML. Den standardiserar Java till WSDL och WSDL till Java-avbildningar samt tillhandahåller kärnprogrammeringsgränssnitten för utveckling av webbtjänster och webbtjänsteklienter på Java-plattformen. I en distribuerad klient/servermodell används ofta en RPC-mekanism till att aktivera klienter för körning av procedurer i andra system.
Den aktuella versionen av JAX-RPC kräver funktioner för SOAP över HTTP för plattformsoberoendet. SOAP-specifikationen definierar meddelandestruktur, kodningsregler och metoder för utbyte av information i RPC-programmeringsmodellen. De här anropen och svaren överförs som SOAP-meddelanden över HTTP. I den här versionen har JAX-RPC funktioner för SOAP 1.1 och HTTP 1.1. Om du vill veta mer om SOAP läser du avsnittet SOAP.
Även om den underliggande körningsmekanismen (t.ex. Java till WSDL-serialisering, WSDL till Java-deserialisering, protokoll och transport) är väldigt komplex så tjänar programmeringsgränssnittet till att dölja den här komplexiteten för tillämpningsutvecklaren. På serversidan kan utvecklaren tillhandahålla ett tjänsteändpunktsgränssnitt (SEI). Alternativt så kan en sådan skapas med webbtjänsteguiderna. Ett tjänsteändpunktsgränssnitt är skrivet i det Java-programmeringsspråk som specificerar fjärrprocedurerna för en webbtjänst. Utvecklaren tillhandahåller implementationen för en webbtjänst som en eller fleraJava-klasser som implementerar metoder för samma signatur som de på tjänsteändpunktsgränssnittet. Klientprogram är också enkla att koda. En klient skapar en proxy, ett lokalt objekt som motsvarar tjänsteimplementationen och tjänsteändpunktsgränssnittet och sedan anropar metoderna på proxyn.
JAX-RPC har en hög grad av plattformsoberoende: En JAX-RPC-klient kan accessa en webbtjänst som inte körs på Java-plattformen och vice versa. Den här flexibiliteten är möjlig eftersom JAX-RPC använder SOAP över HTTP och tack vare WSDL (Web Service Description Language). JAX-RPC utvecklades med funktioner för WS-I.
Mer information om JAX-RPC finns i den officiella JSR 101-specifikationerna.