blob: 94f99016df30862e64104b04919e332763dfa096 [file] [view]
# axis2.xml Configuration
The `axis2.xml` file is the main configuration file for Axis2/C. It controls transports, modules, handlers, and global settings.
## Location
Default locations:
- `$AXIS2C_HOME/axis2.xml`
- `/usr/local/axis2c/axis2.xml`
- Specified via `AXIS2_REPO` environment variable
## Basic Structure
```xml
<axisconfig name="AxisC">
<!-- Transport receivers -->
<transportReceiver name="https" class="axis2_http2_receiver">
<!-- HTTP/2 configuration -->
</transportReceiver>
<!-- Transport senders -->
<transportSender name="https" class="axis2_http2_sender">
<!-- Client transport configuration -->
</transportSender>
<!-- Modules to engage -->
<module ref="addressing"/>
<!-- Global handlers -->
<phaseOrder type="inflow">
<!-- Incoming request handlers -->
</phaseOrder>
</axisconfig>
```
## HTTP/2 Configuration
### Enabling HTTP/2
```xml
<transportReceiver name="https" class="axis2_http2_receiver">
<parameter name="port">8443</parameter>
<parameter name="enableHTTP2">true</parameter>
<!-- TLS Configuration -->
<parameter name="SSLServerCert">/path/to/server.crt</parameter>
<parameter name="SSLServerKey">/path/to/server.key</parameter>
<parameter name="SSLCACert">/path/to/ca.crt</parameter>
<!-- Enable mTLS (client certificate verification) -->
<parameter name="SSLVerifyClient">require</parameter>
</transportReceiver>
```
### TLS Cipher Suites
```xml
<parameter name="SSLCipherSuite">
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
</parameter>
```
## Service Deployment
### Service Repository
```xml
<parameter name="ServicesDirectory">services</parameter>
<parameter name="EnableAllServices">false</parameter>
```
### Hot Deployment
```xml
<parameter name="EnableHotDeployment">true</parameter>
<parameter name="EnableHotUpdate">true</parameter>
```
## JSON Configuration
### JSON Message Receiver
```xml
<messageReceiver name="json" class="axis2_json_msg_recv">
<parameter name="prettyPrint">false</parameter>
<parameter name="contentType">application/json</parameter>
</messageReceiver>
```
## Legacy SOAP Configuration
### SOAP Message Receivers
```xml
<messageReceiver name="soap11" class="axis2_soap_msg_recv"/>
<messageReceiver name="soap12" class="axis2_soap12_msg_recv"/>
```
### WS-Addressing
```xml
<module ref="addressing"/>
```
## Handler Configuration
### Phase Order
```xml
<phaseOrder type="inflow">
<phase name="Transport"/>
<phase name="Security"/>
<phase name="Dispatch"/>
</phaseOrder>
<phaseOrder type="outflow">
<phase name="MessageOut"/>
<phase name="Security"/>
<phase name="Transport"/>
</phaseOrder>
```
## See Also
- [HTTP/2 Configuration Details](../HTTP2_AXIS2_DOT_XML.md)
- [Services Configuration](../HTTP2_SERVICES_DOT_XML.md)
- [Security Guide](../SECURITY.md)