Mantis - Quercus
Viewing Issue Advanced Details
1092 major always 05-10-06 19:59 05-15-06 12:17
koreth Mac (Intel)  
MacOS X  
normal 10.4  
closed 3.0.19  
resin-3.0.s060510 no change required  
none    
none  
0001092: Quercus references nonexistent HttpServletRequest method
com.caucho.quercus.env.ServerArrayValue.fillMap() calls getRemotePort() on the HttpServletRequest object. Unfortunately Resin's HttpServletRequest interface has no getRemotePort() method, so I get a NoSuchMethodError:

com.caucho.quercus.QuercusExecutionException: java.lang.NoSuchMethodError
javax.servlet.http.HttpServletRequest.getRemotePort()I
    at com.caucho.quercus.env.ServerArrayValue.fillMap(ServerArrayValue.java:215)
    at com.caucho.quercus.env.ServerArrayValue.get(ServerArrayValue.java:141)
    at com.caucho.quercus.expr.ArrayGetExpr.eval(ArrayGetExpr.java:92)
    at com.caucho.quercus.expr.Expr.evalString(Expr.java:379)
    at com.caucho.quercus.expr.AppendExpr.evalString(AppendExpr.java:146)
    at com.caucho.quercus.expr.IncludeOnceExpr.eval(IncludeOnceExpr.java:86)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:78)
    at .(/Users/sgrimm/resin/resin-3.0.s060510/webapps/ROOT/help.php:2)

Notes
(0001113)
koreth   
05-10-06 20:00   
Should be in the "Quercus" category. I didn't get a list of categories to select from when I submitted the bug report.
(0001118)
ferg   
05-11-06 12:35   
Can you check the classpath? You might have a jsdk-23 jar for some reason. The getRemotePort is part of jsdk-24 which is the version Resin 3.0 supports.
(0001120)
koreth   
05-11-06 12:58   
The method is not defined in the Resin version of HttpServletRequest.java:

Steve-Grimms-MacBook% pwd
/Users/sgrimm/resin/resin-3.0.s060510/modules
Steve-Grimms-MacBook% find . -name HttpServletRequest.java | xargs grep getRemote
 * <tr><td>REMOTE_ADDR<td>getRemoteAddr()
 * <tr><td>REMOTE_HOST<td>getRemoteHost()
 * <tr><td>REMOTE_USER<td>getRemoteUser()
  public String getRemoteUser();
Steve-Grimms-MacBook%
(0001121)
koreth   
05-11-06 13:51   
I am a moron. That method is of course in ServletRequest, which HttpServletRequest extends. I'll go check for other jarfiles. Sorry for the noise.