This documentation is for WSO2 Enterprise Integrator version 6.4.0 . View documentation for the latest release in the 6.x.x family and the latest release in the 7.x.x family.

All docs This doc

Versions Compared

Key

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

When using the ESB profile of WSO2 Enterprise Integrator (WSO2 EI), there can be scenarios where you need to configure WSO2 EI the ESB to route messages through a proxy server. For example, if WSO2 EI the ESB is behind a firewall, your proxy service might need to talk to a server through a proxy server as illustrated in the following diagram:

...

For such scenarios, you need to configure the WSO2 EI the ESB transport sender to forward messages through a proxy server.

Table of Contents

Configuring

...

the ESB profile to route messages through a proxy server

See the instructions given below.

For non-blocking service calls

To configure the ESB profile to route messages through a proxy server for non-blocking service calls:

  1. Open the <EI_HOME>/conf/axis2/axis2.xml file. 
  2. Add the following parameters in the <transportSender> configuration of the http transport:
    • http.proxyHost - The host name of the proxy server.
    • http.proxyPort - The port number of the proxy server.

    See the example give below:

    Code Block
    languagexml
    <transportSender name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpSender">    
        <parameter name="non-blocking" locked="false">true</parameter>
        <parameter name="http.proxyHost" locked="false">localhost</parameter>
        <parameter name="http.proxyPort" locked="false">8080</parameter>
    </transportSender>

    The above configuration ensures that all HTTP requests pass through the configured proxy server.

For blocking service calls

To configure the ESB profile to route messages (non-blocking) through a proxy server for blocking service calls:

  1. Open the <EI_HOME>/conf/axis2/axis2_blocking_client.xml file. 
  2. Add the following parameters in the <CommonsHTTPTransportSender> configuration of the http transport:
    • http.proxyHost - The host name of the proxy server.
    • http.proxyPort - The port number of the proxy server.

    See the example give below:

    Code Block
    languagexml
    <parameter locked="false" name="http.proxyHost">******copartdomain.com</parameter>
    <parameter locked="false" name="http.proxyPort">3128<>port_value</parameter>

    The above configuration ensures that all HTTP requests pass through the configured proxy server.

Info
titleBypass the proxy server for blocking calls?

If you have a proxy server configuredIn the case of blocking service calls, you can apply a system property in the ESB profile to bypass the proxy server and route messages (blocking only) directly to the hosts that should receive the endpointmessages. Explained below are two methods of applying the system property:

  • Set the system property in the product startup script that is located in the <PRODUCT_HOME>/bin/ directory as shown below. Note that the list of host names are separated by the pipe symbol ('|').

    Code Block
    -Dhttp.nonProxyHosts =10.|localhost|127.0.0.1|.\.domain.com \
  • Pass the system property when you start the server as shown below.

    Code Block
    ./integrator.sh -Dhttp.nonProxyHosts =10.|localhost|127.0.0.1|.\.domain.com
Info

A proxy server might require HTTP basic authentication before it handles communication from WSO2 EIthe ESB profile

Configuring proxy profiles in

...

the ESB profile

When using WSO2 EIthe ESB profile, there can be scenarios where you need to configure multiple proxy servers to route messages to different endpoints as illustrated in the following diagram.

...

To configure proxy profiles in WSO2 EIthe ESB profile:

  • Edit the <EI_HOME>/conf/axis2/axis2.xml file, add the proxyProfiles parameter in the <transportSender> configuration of the http transport, and then define multiple profiles based on the number of proxy servers you need to have.

    Info

    When you define a profile, it is mandatory to specify the targetHosts, proxyHost and proxyPort parameters for each profile.

...