Apache Axis2's local transport implementation is used to make internal fast, in-VM service calls and transfer data within the Axis2 instance proxy services. The transport does not have a receiver implementation. The following class implements the sender API:
...
org.apache.axis2.transport.local.LocalTransportSender
The transport does not have a receiver implementation as of now.
It provides an opportunity for fast in-VM service call.
...
NonBlockingLocalTransportSender
To use this transport, configure an
...
endpoint with the local://
prefix. For example, to make an in-VM call to the HelloService, use local://HelloService.
Note that the local transport cannot be used to send REST API calls, which require the HTTP/S transports.
Configuring
...
the Local Transport
...
By default, WSO2 provides CarbonLocalTransportSender and CarbonLocalTransportReceiver, which are used for internal communication among Carbon components and are not suitable for service invocation. To enable the local transport for service invocation, follow these steps.
1. In the carbon.xml file at location <PRODUCT_HOME>/repository/conf, an endpoint is available as follows by default.
Code Block | ||
---|---|---|
| ||
<ServerURL>local://services/</ServerURL> |
Replace it with
Code Block | ||
---|---|---|
| ||
<ServerURL>https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/</ServerURL> |
2. In the axis2.xml file at location <PRODUCT_HOME>/repository/conf/axis2/axis2.xml, there is a transport sender and receiver named 'local' specified as follows in two different places:
Code Block | ||
---|---|---|
| ||
<transportSender<transportReceiver name="local" class="org.apachewso2.carbon.axis2core.transporttransports.local.LocalTransportSenderCarbonLocalTransportReceiver"/> |
It has to be replaced with the following sender/receiver pair.
Code Block | ||
---|---|---|
| ||
<transportReceiver <transportSender name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiverCarbonLocalTransportSender"/> |
Remove both these lines and add following line.
Code Block | ||
---|---|---|
| ||
<transportSender name="local" class="org.wso2apache.carbonaxis2.core.transportstransport.local.CarbonLocalTransportSenderNonBlockingLocalTransportSender"/> |
Excerpt | ||
---|---|---|
| ||
Description of Local transport. |