APIs are synapse configurations in the back-end and API Manager accesses them using HTTP-NIO transport by default. You can switch to a different transport such as PassThrough. To change the default transport of API Manager, go to <APIM_HOME>/repository/conf/axis2
folder and rename axis2.xml_PT
file to axis2.xml
. Similarly, you can switch back to NHTTP by simply renaming axis2.xml_NHTTP
file to axis2.xml
.
The following topics explain HTTP-NIO and PassThrough transports:
Table of Contents | ||||
---|---|---|---|---|
|
HTTP-NIO transport
HTTP-NIO transport is a module of the Apache Synapse project. Apache Synapse as well as WSO2 APIM ship the HTTP-NIO transport as the default HTTP transport implementation. The two classes that implement the receiver and sender APIs are org.apache.synapse.transport.nhttp.HttpCoreNIOListener
and org.apache.synapse.transport.nhttp.HttpCoreNIOSender
respectively. These classes are available in the JAR file named synapse-nhttp-transport.jar
. This non-blocking transport implementation improves performance. The transport implementation is based on Apache HTTP Core - NIO and uses a configurable pool of non-blocking worker threads to grab incoming HTTP messages off the wire.
Transport receiver parameters
Info |
---|
In transport parameter tables, literals displayed in italic mode under the "Possible Values" column should be considered as fixed literal constant values. Those values can be directly put in transport configurations. |
Parameter Name | Description | Requried | Possible Values | Default Value |
---|---|---|---|---|
port | The port on which this transport receiver should listen for incoming messages. | No | A positive integer less than 65535 | 8280 |
non-blocking | Setting this parameter to true is vital for reliable messaging and a number of other scenarios to work properly. | Yes | true |
|
bind-address | The address of the interface to which the transport listener should bind. | No | A host name or an IP address | 127.0.0.1 |
hostname | The host name of the server to be displayed in service EPRs, WSDLs etc. This parameter takes effect only when the WSDLEPRPrefix parameter is not set. | No | A host name or an IP address | localhost |
WSDLEPRPrefix | A URL prefix which will be added to all service EPRs and EPRs in WSDLs etc. | No | A URL of the form <protocol>://<hostname>:<port>/ |
|
Transport sender parameters
Parameter Name | Description | Requried | Possible Values | Default Value |
---|---|---|---|---|
http.proxyHost | If the outgoing messages should be sent through an HTTP proxy server, use this parameter to specify the target proxy. | No | A host name or an IP address |
|
http.proxyPort | The port through which the target proxy accepts HTTP traffic. | No | A positive integer less than 65535 |
|
http.nonProxyHosts | The list of hosts to which the HTTP traffic should be sent directly without going through the proxy. | No | A list of host names or IP addresses separated by '|' |
|
non-blocking | Setting this parameter to true is vital for reliable messaging and a number of other scenarios to work properly. | Yes | true |
|