Welcome to Apache Axis2/Java

Apache Axis2™ is a Web Services JSON / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack. Axis2 serves the same business logic through multiple protocols simultaneously — JSON-RPC, REST, and MCP (Model Context Protocol) — from a single service deployment. There are two implementations of the Apache Axis2 Web services engine - Apache Axis2/Java and Apache Axis2/C.

While you will find all the information on Apache Axis2/Java here, you can visit the Apache Axis2/C Web site for Axis2/C implementation information. Apache Axis2/C 2.0.0 has been released — the first release since 1.6.0 (2009). Axis2/C 2.0.0 adds HTTP/2 transport via Apache httpd, JSON support via json-c, OpenAPI spec generation, and an MCP stdio server with the same tool schemas as Axis2/Java — enabling AI assistants to call native C services on edge devices, Android phones, and IoT gateways where a JVM cannot run. The same MCP client connects to both Axis2/Java (enterprise) and Axis2/C (embedded) with identical protocol and identical results. See the Axis2/C site for details.

Apache Rampart 2.0.0 is ready for release and will ship immediately after Axis2/Java 2.0.1, on which it depends. Rampart 2.0.0 brings WS-Security up to date with the Jakarta EE 9+ / Axis2 2.0.x line (jakarta.* namespaces, modern WSS4J, current OpenJDK support) so legacy SOAP services with WS-Security policies can run unchanged on the same Tomcat 11 / WildFly 32 / WildFly 39 stack as the rest of Axis2/Java. Minimum OpenJDK version is 17; tested with the same server/JDK combinations listed below. See the Apache Rampart site for details.

Apache Axis2, Axis2, Apache, the Apache feather logo, and the Apache Axis2 project logo are trademarks of The Apache Software Foundation.

Why Apache Axis2 in 2026:

One service, three protocols. Axis2 is the only Java framework that serves JSON-RPC, REST+OpenAPI, and MCP from a single service class — no code duplication, no wrapper layers. Add the Spring Boot Starter dependency and your services are live on a modern application server. Minimum OpenJDK version is 17. Tested configurations: Tomcat 11 with OpenJDK 21 and OpenJDK 25, WildFly 32 with OpenJDK 21, and WildFly 39 with OpenJDK 25.

The architecture that made this possible was designed at the August 2004 Summit in Colombo, Sri Lanka. Its handler chain — a pipeline of phases that processes every message regardless of wire format — turned out to be the ideal foundation for multi-protocol support twenty years later. Security handlers, logging handlers, and custom interceptors written for SOAP apply unchanged to JSON-RPC, REST, and MCP traffic. See the Architecture Guide for details.

Axis2 supports SOAP 1.1/1.2, REST, JSON-RPC (via Moshi or GSON), OpenAPI 3.0 auto-generation with Swagger UI, and MCP tool catalogs for AI agents. HTTP/2 support is built into the serialization pipeline — streaming JSON formatters flush every 64 KB, converting buffered responses into HTTP/2 DATA frames during serialization, not after. Response field selection (?fields=) filters at the serialization layer with zero overhead when unused. Most frameworks treat HTTP/2 as a transparent container feature; Axis2 integrates it into the message formatter. Legacy SOAP services continue to work unchanged — the SOAP handler chain, WS-Security (Apache Rampart), and WS-Addressing are fully supported.

Key Features

  • JSON-RPC with Gson and Moshi — build POJO-based services that receive and return JSON. Streaming formatters flush every 64 KB for memory-efficient large responses.
  • OpenAPI 3.0 auto-generation — specifications generated from deployed services with integrated Swagger UI for interactive API testing.
  • MCP tool catalogs for AI agents — AI assistants discover and call your services as tools via the auto-generated catalog at /openapi-mcp.json. See live examples.
  • HTTP/2 streaming — integrated into the serialization pipeline, not just the transport layer. Response field selection (?fields=) filters at serialization time.
  • Spring Boot Starter — one Maven dependency for servlet registration, repository configuration, and OpenAPI/MCP activation. Supports WAR deployment and embedded Tomcat.
  • OpenAPI schemas from Hibernate — generate read/write JSON Schemas from JPA annotations or .hbm.xml files, keeping API contracts in sync with the database model.
  • Built-in pagination — offset/limit with server-enforced safety limits, mapping directly to JPA/Hibernate DAOs.
  • Hot deployment — add or update services without restarting the server by dropping .aar archives into the services directory.
  • SOAP legacy — full SOAP 1.1/1.2 support including WSDL, WS-Security (Apache Rampart), WS-Addressing, MTOM attachments, and the pluggable handler chain architecture from the original 2004 design.

We hope you enjoy using Axis2. Please note that this is an open-source effort. If you feel the code could use new features or fixes, or the documentation can be improved, please get involved and lend us a hand! The Axis developer community welcomes your participation.

Let us know what you think! Send your feedback on Axis2 to "java-user@axis.apache.org". Make sure to prefix the subject of the mail with [Axis2].