This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Local Transport

Apache Axis2's local transport implementation is used to make fast, in-VM service calls and transfer data within proxy services. The transport does not have a receiver implementation. The following class implements the sender API:

  • org.apache.axis2.transport.local.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 ESB provides CarbonLocalTransportSender and CarbonLocalTransportReceiver, which are used for internal communication among Carbon components and are not suitable for ESB service invocation. To enable the local transport for service invocation, follow these steps.

1. In the carbon.xml file at location <ESB_HOME>/repository/conf, an endpoint is available as follows by default.

<ServerURL>local://services/&lt;/ServerURL>

Replace it with

<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:

<transportReceiver name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportReceiver"/>

<transportSender name="local" class="org.wso2.carbon.core.transports.local.CarbonLocalTransportSender"/>

Remove both these lines and add following line.

<transportSender name="local" class="org.apache.axis2.transport.local.NonBlockingLocalTransportSender"/>

For more information about transports, see Working with Transports.

Â