blob: 326b78518cf1bc1d9dc486fbabd2854ec4db7011 [file]
<!DOCTYPE html>
<!--
| Generated by Apache Maven Doxia Site Renderer 2.0.0 from src/site/xdoc/index.xml at 2026-05-18
| Rendered using Apache Maven Fluido Skin 2.0.0-M11
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" />
<title>Apache Axis2/Java - Next Generation Web Services – Apache Axis2</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-2.0.0-M11.min.css" />
<link rel="stylesheet" href="./css/site.css" />
<link rel="stylesheet" href="./css/print.css" media="print" />
<script src="./js/apache-maven-fluido-2.0.0-M11.min.js"></script>
</head>
<body>
<div class="container-fluid container-fluid-top">
<header>
<div id="banner">
<div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img class="class java.lang.Object" src="https://www.apache.org/images/asf_logo_wide.png" /> Apache Axis2</a></h1></div></div>
<div class="pull-right"><div id="bannerRight"><h1><a href="https://axis.apache.org/axis2/java/core/"><img class="class java.lang.Object" src="https://axis.apache.org/axis2/java/core/images/axis.jpg" /></a></h1></div></div>
<div class="clear"><hr/></div>
</div>
<div id="breadcrumbs">
<ul class="breadcrumb">
<li id="publishDate">Last Published: 2026-05-17<span class="divider">|</span>
</li>
<li id="projectVersion">Version: 2.0.1<span class="divider">|</span></li>
<li><a href="https://www.apache.org" class="externalLink">Apache</a><span class="divider">/</span></li>
<li><a href="index.html">Axis2/Java</a><span class="divider">/</span></li>
<li class="active">Apache Axis2/Java - Next Generation Web Services</li>
</ul>
</div>
</header>
<div class="row-fluid">
<header id="leftColumn" class="span2">
<nav class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header">Axis2/Java</li>
<li class="active"><a>Home</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="javascript:void(0)"><span class="icon-chevron-down"></span>Release Notes</a>
<ul class="nav nav-list">
<li><a href="release-notes/1.6.1.html">1.6.1</a></li>
<li><a href="release-notes/1.6.2.html">1.6.2</a></li>
<li><a href="release-notes/1.6.3.html">1.6.3</a></li>
<li><a href="release-notes/1.6.4.html">1.6.4</a></li>
<li><a href="release-notes/1.7.0.html">1.7.0</a></li>
<li><a href="release-notes/1.7.1.html">1.7.1</a></li>
<li><a href="release-notes/1.7.2.html">1.7.2</a></li>
<li><a href="release-notes/1.7.3.html">1.7.3</a></li>
<li><a href="release-notes/1.7.4.html">1.7.4</a></li>
<li><a href="release-notes/1.7.5.html">1.7.5</a></li>
<li><a href="release-notes/1.7.6.html">1.7.6</a></li>
<li><a href="release-notes/1.7.7.html">1.7.7</a></li>
<li><a href="release-notes/1.7.8.html">1.7.8</a></li>
<li><a href="release-notes/1.7.9.html">1.7.9</a></li>
<li><a href="release-notes/1.8.0.html">1.8.0</a></li>
<li><a href="release-notes/1.8.1.html">1.8.1</a></li>
<li><a href="release-notes/1.8.2.html">1.8.2</a></li>
<li><a href="release-notes/2.0.0.html">2.0.0</a></li>
<li><a href="release-notes/2.0.1.html">2.0.1</a></li>
</ul></li>
<li><a href="modules/index.html">Modules</a></li>
<li><a href="tools/index.html">Tools</a></li>
<li class="nav-header">Documentation</li>
<li><a href="docs/toc.html">Table of Contents</a></li>
<li><a href="docs/installationguide.html">Installation Guide</a></li>
<li><a href="docs/quickstartguide.html">QuickStart Guide</a></li>
<li><a href="docs/userguide.html">User Guide</a></li>
<li><a href="docs/jaxws-guide.html">JAXWS Guide</a></li>
<li><a href="docs/pojoguide.html">POJO Guide</a></li>
<li><a href="docs/spring.html">Spring Guide</a></li>
<li><a href="docs/webadminguide.html">Web Administrator&apos;s Guide</a></li>
<li><a href="docs/migration.html">Migration Guide (from Axis1)</a></li>
<li class="nav-header">Resources</li>
<li><a href="faq.html">FAQ</a></li>
<li><a href="https://github.com/apache/axis-axis2-java-core" class="externalLink">Source Code</a></li>
<li class="nav-header">Get Involved</li>
<li><a href="overview.html">Overview</a></li>
<li><a href="mail-lists.html">Mailing Lists</a></li>
<li><a href="release-process.html">Release Process</a></li>
<li><a href="guidelines.html">Developer Guidelines</a></li>
<li><a href="siteHowTo.html">Build the Site</a></li>
<li class="nav-header">Project Information</li>
<li><a href="https://github.com/apache/axis-axis2-java-core/graphs/contributors" class="externalLink">Contributors</a></li>
<li><a href="https://issues.apache.org/jira/projects/AXIS2/issues" class="externalLink">Issues</a></li>
<li class="nav-header">Apache</li>
<li><a href="https://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink">License</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html" class="externalLink">Thanks</a></li>
<li><a href="https://www.apache.org/security/" class="externalLink">Security</a></li>
</ul>
</nav>
<div class="well sidebar-nav">
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
</div>
</div>
</header>
<main id="bodyColumn" class="span10">
<section><a id="Welcome_to_Apache_Axis2.2FJava"></a>
<h1>Welcome to Apache Axis2/Java</h1>
<p>Apache Axis2&#x2122; is a Web Services JSON / SOAP / WSDL engine, the successor to the
widely used <a href="https://ws.apache.org/axis/" class="externalLink">Apache Axis</a> SOAP stack. Axis2 serves
the same business logic through multiple protocols simultaneously &#x2014;
JSON-RPC, REST, and <a href="docs/mcp-architecture.html">MCP (Model Context Protocol)</a>
&#x2014; from a single service deployment.
There are two implementations
of the Apache Axis2 Web services engine - Apache Axis2/Java and
Apache Axis2/C.</p>
<p>While you will find all the information on Apache Axis2/Java
here, you can visit the <a href="https://axis.apache.org/axis2/c/core/" class="externalLink"><strong>Apache Axis2/C</strong></a>
Web site for Axis2/C implementation information.
<strong>Apache Axis2/C 2.0.0 has been released</strong> &#x2014; 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 &#x2014; 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
<a href="https://axis.apache.org/axis2/c/core/" class="externalLink">Axis2/C site</a> for details.</p>
<p><strong>Apache Rampart 2.0.0 is ready for release</strong> 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
(<code>jakarta.*</code> 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
<a href="https://axis.apache.org/axis2/java/rampart/" class="externalLink">Apache Rampart
site</a> for details.</p>
<p>Apache Axis2, Axis2, Apache, the Apache feather logo, and the Apache Axis2 project logo are trademarks of The Apache Software Foundation.</p>
<section><section><a id="Why_Apache_Axis2_in_2026.3A"></a>
<h3><em>Why Apache Axis2 in 2026:</em></h3>
<p><strong>One service, three protocols.</strong> Axis2 is the only Java framework
that serves JSON-RPC, REST+OpenAPI, and
<a href="docs/mcp-architecture.html">MCP</a> from a single service class &#x2014;
no code duplication, no wrapper layers. Add the
<a href="docs/spring-boot-starter.html">Spring Boot Starter</a> dependency and
your services are live on a modern application server. <strong>Minimum
OpenJDK version is 17.</strong> Tested configurations: Tomcat 11 with
OpenJDK 21 and OpenJDK 25, WildFly 32 with OpenJDK 21, and WildFly 39
with OpenJDK 25.</p>
<p>The architecture that made this possible was designed at the August 2004 Summit
in Colombo, Sri Lanka. Its handler chain &#x2014; a pipeline of phases that
processes every message regardless of wire format &#x2014; 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
<a href="docs/Axis2ArchitectureGuide.html">Architecture Guide</a> for details.</p>
<p>Axis2 supports SOAP 1.1/1.2, REST,
<a href="docs/json_support_gson.html">JSON-RPC</a> (via Moshi or GSON),
<a href="docs/openapi-rest-userguide.html">OpenAPI 3.0 auto-generation</a>
with Swagger UI, and
<a href="docs/json-rpc-mcp-guide.html">MCP tool catalogs</a> for AI agents.
<a href="docs/http2-integration-guide.html">HTTP/2 support</a> is built into
the serialization pipeline &#x2014; streaming JSON formatters flush every 64 KB,
converting buffered responses into HTTP/2 DATA frames during serialization,
not after. Response field selection (<code>?fields=</code>) 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 &#x2014; the SOAP handler chain,
WS-Security (<a href="https://axis.apache.org/axis2/java/rampart/" class="externalLink">Apache Rampart</a>),
and WS-Addressing are fully supported.</p>
</section><section><a id="Key_Features"></a>
<h3>Key Features</h3>
<ul>
<li><strong>JSON-RPC with
<a href="https://github.com/google/gson" class="externalLink">Gson</a> and
<a href="https://github.com/square/moshi" class="externalLink">Moshi</a></strong> &#x2014;
build POJO-based services that receive and return JSON. Streaming
formatters flush every 64 KB for memory-efficient large responses.</li>
<li><strong><a href="docs/openapi-rest-userguide.html">OpenAPI 3.0</a>
auto-generation</strong> &#x2014; specifications generated from deployed
services with integrated
<a href="https://swagger.io/tools/swagger-ui/" class="externalLink">Swagger UI</a> for
interactive API testing.</li>
<li><strong><a href="docs/json-rpc-mcp-guide.html">MCP tool catalogs</a>
for AI agents</strong> &#x2014; AI assistants discover and call your services
as tools via the auto-generated catalog at <code>/openapi-mcp.json</code>.
See <a href="docs/mcp-examples.html">live examples</a>.</li>
<li><strong><a href="docs/http2-integration-guide.html">HTTP/2
streaming</a></strong> &#x2014; integrated into the serialization pipeline,
not just the transport layer. Response
<a href="docs/json-streaming-formatter.html#Field_Selection">field
selection</a> (<code>?fields=</code>) filters at serialization time.</li>
<li><strong><a href="docs/spring-boot-starter.html">Spring Boot
Starter</a></strong> &#x2014; one Maven dependency for servlet registration,
repository configuration, and OpenAPI/MCP activation. Supports WAR
deployment and embedded Tomcat.</li>
<li><strong><a href="docs/openapi-jpa-schema.html">OpenAPI schemas
from Hibernate</a></strong> &#x2014; generate read/write JSON Schemas from
JPA annotations or <code>.hbm.xml</code> files, keeping API contracts
in sync with the database model.</li>
<li><strong><a href="docs/json-pagination.html">Built-in
pagination</a></strong> &#x2014; offset/limit with server-enforced safety
limits, mapping directly to JPA/Hibernate DAOs.</li>
<li><strong><a id="Hot_Deployment"></a>Hot
deployment</strong> &#x2014; add or update services without restarting the
server by dropping <code>.aar</code> archives into the services
directory.</li>
<li><strong>SOAP legacy</strong> &#x2014; full SOAP 1.1/1.2 support
including WSDL, WS-Security
(<a href="https://axis.apache.org/axis2/java/rampart/" class="externalLink">Apache Rampart</a>),
WS-Addressing, MTOM attachments, and the pluggable handler chain
architecture from the original 2004 design.</li>
</ul>
<p>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.</p>
<p>Let us know what you think! Send your feedback on Axis2 to
&quot;<a href="mailto:java-user@axis.apache.org" class="externalLink">java-user@axis.apache.org</a>&quot;. Make
sure to prefix the subject of the mail with [Axis2].</p>
</section></section>
</main>
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
<div class="row-fluid">
<p>© 2004–2026
<a href="https://www.apache.org/">The Apache Software Foundation</a>
</p>
</div>
</div>
</footer>
</body>
</html>