Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    trouble getting to the admin console


    Somewhere along the line of updating (probably to smartGWT 13.0) I have lost the ability to get to the admin console. Other developer console tab access is also mysterious. As far as I can tell, both web apps that I am primarily supporting are configured identically (gwt.xml files use of debug.SmartGwtEENoThemeDebug or SmartGwtEENoScript as well as the html file's debug or non-debug libraries) but have slightly different symptoms. Hopefully this gives you some clues.




    web app BARR:

    The devel console can use the Results, Watch, RPC, Server Logs, XML and WSDL tabs. DataSources, Admin Console and Reference Docs are disabled (greyed out). This is the same for both the devel eclipse environment and deployed to an apache server for production. I used to use the Devel Console all the time, so know it was working at one point. Remote is also disabled and displaced as ... Off.

    Opening the admin console via the SC.openDataSourceConsole(); call does open a new tab in both devel and production modes.

    The behavior is the same whether in the eclipse environment or the production deployment to an apache web server.




    web app BEER:

    The devel consol in the eclipse development environment has Results, Watch, RPC, WSDL and Reference tabs enabled, DataSources, Server Logs, XML and Admin Console disabled. Deployed in production, the Server Logs and XML tabs are now enabled, Reference Docs disabled and the others are the same. Supporting this app in depth is newer for me so I don't know the history of what worked or didn't previously. Remote is enabled, has a green checkmark next to Off but it's pull down pick list is empty. In the production deployment, Server Logs and the XML tab is active (but still not the Admin Console)

    Using the button technique to open an admin console vi SC.openDataSourceConsole() thows the following exception in a new tab with the URL: http://10.75.224.44:8819/beer/tools/adminConsole.jsp. The tools directory is installed and adminmConsole.jsp exists. I'm not understanding what to do with the exception info however


    javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.runtime.TagHandlerPool<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:358)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:107)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at beer.server.NoCache.doFilter(NoCache.java:31)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at com.isomorphic.servlet.CompressionFilter._doFilter(CompressionFilter.java:263)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at com.isomorphic.servlet.BaseFilter.doFilter(BaseFilter.java:91)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at beer.server.DevelopmentAuthenticationFilter.doFilter(DevelopmentAuthenticationFilter.java:51)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:224)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:95)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.Server.handle(Server.java:499)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at java.lang.Thread.run(Thread.java:748)<BR>Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.jasper.runtime.TagHandlerPool<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jsp.beer.tools.adminConsole_jsp._jspInit(adminConsole_jsp.java:41)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:405)<BR>&nbsp;&nbsp;&nbsp;&nbsp;at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:349)<BR>&nbsp;&nbsp;&nbsp;&nbsp;... 32 more<BR>

    useing: SmartClient Version: v13.0p_2024-01-20/PowerEdition Deployment (built 2024-01-20)







    #2
    The Developer Console dynamically detects what's available and turns things on or off accordingly.

    The baseline is that the Developer Console will offer just non-secure features (like client logs - Results tab).

    To get "the works", you include the "Tools" module, and then you get a "tools" folder in your deployment. Inside that folder are some .jsps that allow admin operations - so you just password protect the "tools" path so only admins can get there, and then you have the full admin tool suite:

    https://smartclient.com/smartgwt/jav...eployment.html

    As you'll see in these docs, each tool has a different .jsp endpoint, where the presence or absence of that file enables that tool. Some of your results suggest that perhaps someone has trimmed off some files from the tools module, or disallowed requests to some paths, or some of the JSPs are non-functional for some other reason (like JSP compilation is disabled?).

    In particular that stack trace suggests that JSPs cannot be compiled in that environment, and weren't pre-compiled.

    To see what's going on, you can just open the Developer Console and watch the Network tab in your browser's built-in tools. You'll see requests to the various JSPs, which are clearly named, and you'll see which fail and why.

    Two further nuances:

    1. the Reference Docs tab requires the presence of the reference docs. Similar to the above, you'll see a request to get referenceDocs.js or referenceDocs.xml (differs by browser). If that tab is disabled, presumably those files aren't present.

    This tab is mostly just a convenience (you could just have another browser tab open on the docs) and less relevant for SmartGWT (it shows SmartClient docs). However, it does have a small impact on functionality in other tabs, where we e.g. give doc information on hovers in certain circumstances

    2. the Remote Debugging feature requires Real-Time Messaging to be installed.

    https://smartclient.com/smartgwt/jav...Debugging.html

    It also won't work if the Messaging servlet has been placed at a non-standard URL. Here again, you'll see the Developer Console try to find out if Messaging is enabled as it starts up, and you can see what went wrong with that request.

    Comment

    Working...
    X