Solution: “Specified RequestProcessor not compatible with TilesRequestProcessor”

Problem

When using Struts 1.3 with Tiles and SSLEXT plug-ins, the application server throws the following exception while trying to process a request.

SEVERE: Allocate exception for servlet action
javax.servlet.UnavailableException: TilesPlugin : Specified RequestProcessor
        not compatible with TilesRequestProcessor
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:399)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    ...

Cause

You are using a RequestProcessor which does not extend TilesRequestProcessor, most likely org.apache.struts.action.SecureRequestProcessor provided by SSLEXT.

Solution

As stated on SSLEXT’s web page, in order to use Tiles and SSLEXT together, you need to use specific Tiles-enabled custom request processor and plug-in classes. These classes are provided by SSLEXT and their full names classes are:

  • org.apache.struts.action.SecureTilesRequestProcessor
  • org.apache.struts.tiles.SecureTilesPlugin

Note that the SSLEXT web page incorrectly states the last class’ name as SecureTilesPlugIn (with a capital i).

See also

One Response

  1. thanku

    santosh - November 4th, 2008 at 09:26

Leave a Reply