Tunneling IIOP through HTTP

The HTTP tunneling feature enables clients on the Internet to be able to talk to servers running inside the firewall by tunneling through HTTP. No change to client and server code is required to enable this feature.

Restrictions: The communication between the client and server is uni-directional - the server cannot invoke on any objects that the client provides. Also, any requests to objects that require IIOP/SSL are sent directly without using the tunnel - if any such objects are not accessible, it will result in communication exceptions.

Installing the HTTP Tunnel Servlet

The HTTP tunneling feature of the ORB is implemented as a Servlet. This servlet needs to be installed on an Application/Web Server accessible through the firewall. The table below shows a sample web.xml file to use inside a J2EE web application archive (WAR).
 
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<web-app>

    <display-name>HTTP Tunnel Servlet</display-name>
    <description>
        HTTP Tunnel Servlet.
    </description>

    <servlet>
        <servlet-name>HttpTunnelServlet</servlet-name>
        <servlet-class>com.sssw.jbroker.transport.proxy.HttpTunnelServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HttpTunnelServlet</servlet-name>
        <url-pattern>/gateway</url-pattern>
    </servlet-mapping>

</web-app>

Enabling the Client for HTTP tunneling

The client ORB has to be created with the ORBHttpTunnelURL ORB property set to the URL where the HTTP Tunnel Servlet is installed.  For example, if the servlet is installed on URL http://www.acme.org/orb/gateway, then starting your client program using will tunnel all IIOP traffic through the servlet.
java -J-DORBHttpTunnelURL=http://www.acme.org/orb/gateway MyClient

Copyright © 1998-2003, Novell, Inc. All rights reserved.