org.pentaho.platform.web.servlet
Class ProxyServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.pentaho.platform.web.servlet.ServletBase
              extended by org.pentaho.platform.web.servlet.ProxyServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, ILogger

public class ProxyServlet
extends ServletBase

This servlet is used to Proxy a Servlet request to another server for processing and returns that result to the caller as if this Servlet actiually serviced it. Setup the proxy by editing the web.xml to map the servlet name you want to proxy to the Proxy Servlet class.

  <servlet>
    <servlet-name>ViewAction</servlet-name> 
    <servlet-class>com.pentaho.ui.servlet.ProxyServlet</servlet-class>
    <init-param>
       <param-name>ProxyURL</param-name>
       <param-value>http://my.remoteserver.com:8080/pentaho</param-value>
    </init-param>
   </servlet>
 
In the above example, all requests to /ViewAction will be forwarded to the ViewAction Servlet running on the Pentaho server atmy.remoteserver.com:8080

NOTES:

For this to be useful, both Pentaho servers should be using the same database repository.

The recieving server should have the ProxyTrustingFilter enabled to handle authicentation.

This Servlet only works with GET requests. All requests in the Pentaho BI Platform are currently gets.

Author:
Doug Moran
See Also:
com.pentaho.test.servlet.ProxyTrustingFilter, Serialized Form

Field Summary
 
Fields inherited from class org.pentaho.platform.web.servlet.ServletBase
debug
 
Fields inherited from interface org.pentaho.platform.api.engine.ILogger
ACTIVITY_LOG, DEBUG, ERROR, FATAL, INFO, INSTANCE_LOG, SESSION_LOG, SOLUTION_LOG, TRACE, UNKNOWN, WARN
 
Constructor Summary
ProxyServlet()
          Base Constructor
 
Method Summary
 org.apache.commons.logging.Log getLogger()
           
 void init(javax.servlet.ServletConfig servletConfig)
           
 
Methods inherited from class org.pentaho.platform.web.servlet.ServletBase
debug, debug, error, error, fatal, fatal, getLoggingLevel, getObjectName, info, info, setLoggingLevel, trace, trace, warn, warn
 
Methods inherited from class javax.servlet.http.HttpServlet
service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProxyServlet

public ProxyServlet()
Base Constructor

Method Detail

getLogger

public org.apache.commons.logging.Log getLogger()
Specified by:
getLogger in class ServletBase

init

public void init(javax.servlet.ServletConfig servletConfig)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException