Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
maxLevel3
minLevel3

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