3 Replies Latest reply on Sep 18, 2002 7:53 PM by Greg Wilkins

    HTTP ERROR 503 Dynamic servlet FWServlet not loaded from con

    Shauna Leopold Newbie


      When I try to login to my application, the servlet initialises correctly, but then enters the destroy method (and outputs the exception message below).
      I've checked my deployment descriptors and servlet and cannot find anything that could cause this problem.

      Has anyone experienced this error before and know what is causing it or how to fix it?


      10:49:44,060 INFO [FWServlet] Entered FWServlet init method
      10:49:44,062 INFO [FWServlet] Got context
      10:49:44,066 INFO [FWServlet] Got reference
      10:49:44,068 INFO [FWServlet] Creating the remote interface
      10:49:44,068 INFO [FWServlet] Finished initialising FWServlet
      10:49:44,069 INFO [FWServlet] Entered destroy method
      10:49:44,073 WARN [jbossweb] WARNING: Dynamic servlet com.aepona.managementInterfaces.framework.FWServlet not loaded from context /Causeway_FO
      10:49:44,082 WARN [jbossweb] WARNING: Exception for /Causeway_FO/servlet/com.aepona.managementInterfaces.framework.FWServlet
      javax.servlet.UnavailableException: Dynamic servlet com.aepona.managementInterfaces.framework.FWServlet not loaded from context /Causeway_FO
      at org.mortbay.jetty.servlet.Invoker.service(Invoker.java:157)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:344)
      at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:313)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:554)
      at org.mortbay.jetty.servlet.WebApplicationHandler.handle(WebApplicationHandler.java:199)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1572)
      at org.mortbay.http.HttpContext.handle(HttpContext.java:1522)
      at org.mortbay.http.HttpServer.service(HttpServer.java:795)
      at org.jboss.jetty.Jetty.service(Jetty.java:531)
      at org.mortbay.http.HttpConnection.service(HttpConnection.java:784)
      at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:941)
      at org.mortbay.http.HttpConnection.handle(HttpConnection.java:799)
      at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:186)
      at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:322)
      at org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:713)
      at java.lang.Thread.run(Thread.java:536)

        • 1. Re: HTTP ERROR 503 Dynamic servlet FWServlet not loaded from
          Stefan Effenberg Newbie

          After banging my head against the wall I found a workaround. Don't know if it is the real thing (tm), but it works and I haven't found anything better on the web:

          - determine which server you are using, which is "default" by default; the server directory is $JBOSS_HOME/server/default, e.g. C:\jboss-3.0.2\server\default
          - find the file org.mortbay.jetty.jar
          - modify org/mortbay/jetty/servlet/webdefault.xml:

          set "nonContextServlets" to "true" in the
          servlet section, e.g.


          - pack the whole thing back together into org.mortbay.jetty.jar and overwrite the existing file

          - restart jboss

          • 2. Re: HTTP ERROR 503 Dynamic servlet FWServlet not loaded from
            Julian Gosnell Expert

            strange - one posting says we are not calling destroy() when we should - and another says we are when we shouldn't !

            If you strip it down to a testcase - I'll sort it.


            • 3. Re: HTTP ERROR 503 Dynamic servlet FWServlet not loaded from
              Greg Wilkins Newbie

              The error you are getting is a security feature (mmm maybe
              I should change that message).

              It indicates that the class for the servlet has not come from the context loader of your webapp. Dynamic (AKA anonymous) servlets should only be available from the classes within the webapp, otherwise users will have the
              ability to run any servlet on the system classpath.

              Make sure the class files for your servlet only appear in the WEB-INF/lib or WEB-INF/classes.

              NB. You can turn this check off if you really really need to (and are absolutely certain that every servlet in every jar is safe for every user). Set the nonContextServlets
              initparam of the Invoker servlet to true (in the webdefaults.xml file).