User Guide Overview¶
Apache Axis2/C is a web services framework that supports both modern HTTP/2 JSON-RPC and legacy SOAP protocols.
Core Concepts¶
Services¶
A service is a deployable unit that exposes one or more operations. Services are packaged as shared libraries (.so on Linux, .dll on Windows) with a services.xml descriptor.
Operations¶
An operation is a callable method within a service. Each operation has:
- A name (used in the URL path or SOAP action)
- A message receiver (JSON or SOAP)
- Optional handlers for pre/post processing
Message Context¶
The message context carries request/response data through the processing pipeline:
- HTTP headers
- Protocol information (HTTP/2 vs HTTP/1.1)
- Client certificates (for mTLS)
- Service and operation references
Architecture¶
Processing Pipeline¶
- Transport Layer: HTTP/2 (nghttp2) or HTTP/1.1
- In Handlers: Authentication, logging, validation
- Service Invocation: Your business logic
- Out Handlers: Response transformation
- Transport Layer: Send response
Module System¶
Axis2/C uses a module system for extensibility:
- Rampart - WS-Security (legacy SOAP)
- mod_axis2 - Apache httpd integration
Configuration Files¶
axis2.xml¶
Main server configuration:
- Transport settings (HTTP/2, TLS)
- Module references
- Global handlers
- Service deployment paths
services.xml¶
Per-service configuration:
- Service description
- Operations
- Parameters
- Handlers
See Services Guide.
Protocol Support¶
HTTP/2 + JSON (Recommended)¶
Modern protocol stack for new applications:
- Binary framing, multiplexing
- JSON request/response bodies
- TLS 1.3 with mTLS support
See the HTTP/2 + JSON User Guide for detailed examples and configuration.
Legacy SOAP/HTTP¶
For existing SOAP integrations:
- SOAP 1.1 and 1.2
- WS-* specifications
- WSDL support
Next Steps¶
- Configuration - Server configuration
- Services - Creating services
- Clients - Building clients