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.xmlfiles, 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
.aararchives 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].
Apache Axis2
