JAX-RPC staat voor Java API for XML-based RPC. JAX-RPC wordt gebruikt bij webservices.

Binnen het objectgeoriënteerd paradigma wordt remote procedure call gebruikt om op afstand code uit te voeren. De Java-variant hiervan is Remote Method Invocation (RMI). JAX-RPC verzorgt communicatie via SOAP-berichten en werkt dus anders dan RMI. Bij RMI worden Java-objecten geserialiseerd en het dient om te communiceren tussen Javaprogramma's die draaien op verschillende locaties.

Werking bewerken

Een Javaprogramma roept een methode aan van een zogeheten stub. Zo'n stub is een object dat lokaal beschikbaar is en zelf geen inhoudelijke code bevat, maar dient als communicatiemiddel met een service die zich op een andere machine bevindt. Deze stub roept de routines aan van de JAX-RPC Runtime System. De Runtime System zet de request, die net zoals bij Remote Method Invocation bestaat uit Java-objecten, om in een SOAP-bericht met behulp van JAXB. Vervolgens verstuurt de Runtime System het bericht als een HTTP-request.

Bestaande servlets of EJB-applicaties kunnen volgens hetzelfde principe met JAX-RPC beschikbaar worden gemaakt als webservice.