Hello,

I have been writing an application using the Restlet API (and a very
pleasant API I might add) and ran into a problem.

Initially I was using the 1.0 release and everything was working fine.
Eventually I found myself in the situation where I needed to either parse
the request body into a DOM multiple times.  Once at the Filter level to
initially determine if authentication were required and again at a the
specific Resource level.  Or parse the request body into a DOM once in the
Filter and store the DOM as part of the request attributes.  Multiple
parsing of the DOM did not work in 1.0 for me, and there wasn't a facility
to set request attributes, so I upgraded to 1.1.

I am still investigating this on my own and just thought I would see if
someone else had run into this problem and already had an answer to it.

When I try and use my 1.1 Restlet with Tomcat, I am getting the following
stack trace:

SEVERE: Allocate exception for servlet IDS
java.lang.NullPointerException
        at java.util.concurrent.CopyOnWriteArrayList.<init>(
CopyOnWriteArrayList.java:91)
        at org.restlet.Connector.<init>(Connector.java:69)
        at org.restlet.Client.<init>(Client.java:49)
        at com.noelios.restlet.ext.servlet.ServletWarClient.<init>(
ServletWarClient.java:52)
        at com.noelios.restlet.ext.servlet.ServerServlet.createApplication(
ServerServlet.java:215)
        at com.noelios.restlet.ext.servlet.ServerServlet.getApplication(
ServerServlet.java:313)
        at com.noelios.restlet.ext.servlet.ServerServlet.init(
ServerServlet.java:418)
        at javax.servlet.GenericServlet.init(GenericServlet.java:211)
        at org.apache.catalina.core.StandardWrapper.loadServlet(
StandardWrapper.java:1105)
        at org.apache.catalina.core.StandardWrapper.allocate(
StandardWrapper.java:757)
        at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:130)
        at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(
Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:619)

I was running Tomcat 5.5.20 with JDK 1.6.0.  I also tried and encountered
the same problem using a Tomcat 6 version.

I tried having the Restlet get connected using both the Component and
Application classes.

   -Eben

Reply via email to