blob: fb39a6762004c91ec8ada1454960f0087eedc65a [file] [view]
# 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.
```
services/
└── MyService/
├── libmyservice.so
└── services.xml
```
### 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
```
Request → Transport → Handlers → Service → Handlers → Transport → Response
```
1. **Transport Layer**: HTTP/2 (nghttp2) or HTTP/1.1
2. **In Handlers**: Authentication, logging, validation
3. **Service Invocation**: Your business logic
4. **Out Handlers**: Response transformation
5. **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
See [axis2.xml Configuration](axis2-xml.md).
### services.xml
Per-service configuration:
- Service description
- Operations
- Parameters
- Handlers
See [Services Guide](services.md).
## 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](../userguide/json-httpd-h2-userguide.md) 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](axis2-xml.md) - Server configuration
- [Services](services.md) - Creating services
- [Clients](clients.md) - Building clients