Frank, you Servlet is not connected to any url. You need a servlet mapping with a url-pattern specifyng which url to reply to.
Frank Myers wrote (at 2024-10-18 21:05 +0000): > Chris, > > I use "http://9.114.12.58:8080/WHMerge/" > Web.xml (in the war file) contains > <?xml version="1.0" encoding="UTF-8"?> > <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns="https://jakarta.ee/xml/ns/jakartaee" > xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee > https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" id="WebApp_ID" > version="5.0"> > <display-name>WHMerge</display-name> > <servlet> > <servlet-name>WHMerge</servlet-name> > <servlet-class>com.ibm.wca4z.webhooks.WHMerge</servlet-class> > </servlet> > </web-app> > > > With kindest regards, > > Frank Myers > > > ________________________________ > From: Christopher Schultz <ch...@christopherschultz.net> > Sent: Friday, October 18, 2024 11:53 AM > To: users@tomcat.apache.org <users@tomcat.apache.org> > Subject: [EXTERNAL] Re: Can't access servlet 404 advise requested > > Frank, > > On 10/17/24 10:09 AM, Frank Myers wrote: > > I see in the catalina log: > > 17-Oct-2024 13:57:11.194 INFO [http-nio-8080-exec-30] > > org.apache.catalina.core.StandardContext.reload Reloading Context with name > > [/WHMerge] has started > > 17-Oct-2024 13:57:11.196 WARNING [http-nio-8080-exec-30] > > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesObjectStreamClassCaches > > Failed to clear soft references from ObjectStreamClass$Caches for web > > application [WHMerge] > > java.lang.ClassCastException: class > > java.io.ObjectStreamClass$Caches$1 cannot be cast to class java.util.Map > > (java.io.ObjectStreamClass$Caches$1 and java.util.Map are in module > > java.base of loader 'bootstrap') > > at > > org.apache.catalina.loader.WebappClassLoaderBase.clearCache(WebappClassLoaderBase.java:2325) > > at > > org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesObjectStreamClassCaches(WebappClassLoaderBase.java:2300) > > at > > org.apache.catalina.loader.WebappClassLoaderBase.clearReferences(WebappClassLoaderBase.java:1669) > > at > > org.apache.catalina.loader.WebappClassLoaderBase.stop(WebappClassLoaderBase.java:1597) > > at > > org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:463) > > at > > org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) > > at > > org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5515) > > at > > org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257) > > at > > org.apache.catalina.core.StandardContext.reload(StandardContext.java:3811) > > at > > org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:1132) > > at > > org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:644) > > at > > org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:215) > > at > > javax.servlet.http.HttpServlet.service(HttpServlet.java:681) > > at > > javax.servlet.http.HttpServlet.service(HttpServlet.java:764) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > > at > > org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:211) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > > at > > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > > at > > org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) > > at > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) > > at > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) > > at > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) > > at > > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:659) > > at > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) > > at > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > > at > > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) > > at > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) > > at > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359) > > at > > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) > > at > > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) > > at > > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) > > at > > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735) > > at > > org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) > > at > > org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) > > at > > org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) > > at > > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > > at java.base/java.lang.Thread.run(Thread.java:840) > > 17-Oct-2024 13:57:11.201 WARNING [http-nio-8080-exec-30] > > org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version > > string [5.0]. Default version will be used. > > 17-Oct-2024 13:57:11.527 INFO [http-nio-8080-exec-30] > > org.apache.catalina.core.StandardContext.reload Reloading Context with name > > [/WHMerge] is completed > > > > Is this a problem? > > This is a warning and not an error. It is a very strange error to my eye > that should be investigated, but it does not appear to be causing your > application to fail to load. > > You might want to check log files other than catalina.out. > > What URL are you using to access your servlet? What does your web.xml > file look like? > > Thanks, > -chris > > > ________________________________ > > From: Frank Myers <franklin.my...@ibm.com.INVALID> > > Sent: Thursday, October 17, 2024 9:31 AM > > To: Tomcat Users List <users@tomcat.apache.org> > > Subject: [EXTERNAL] RE: Can't access servlet 404 advise requested > > > > Holger, > > > > I implemented both dopost and doget. Both write contain a write to log. > > Neither seem to execute. > > > > With kindest regards, > > > > Frank > > > > With kindest regards, > > > > Franklin Myers > > Developer > > ZAPM Software Development > > SWG - IBM > > 614-284-2151 > > ________________________________ > > From: Holger Klawitter <info....@klawitter.de> > > Sent: Thursday, October 17, 2024 3:51:45 AM > > To: Tomcat Users List <users@tomcat.apache.org> > > Subject: [EXTERNAL] Re: Can't access servlet 404 advise requested > > > > Hello, > > > > the path in the tomcat manager app brings you to http://localhost/WEBAPP/ > > or http://localhost/WEBAPP/index.html via HTTP GET. Is your servlet > > configured to reply to that url? This is normally done in web.xml with > > the <url-pattern> Element. > > > > Moreover: as you seem to be writing a doPost() Method. You will > > get a 405 when using HTTP GET via the link at best. > > > > > > Frank Myers wrote (at 2024-10-16 19:21 +0000): > >> Hi all, > >> > >> I'm running Tomcat9 on Ubuntu. > >> I copied a servlet war (a webhook) file which was automatically deployed > >> in my webapps directory. > >> Using the "Tomcat Web Application Manager" I see my servlet path and > >> display name listed. > >> > >> When I click on the path I get the "HTTP Status 404 ? Not Found" and > >> description of "Description The origin server did not find a current > >> representation for the target resource or is not willing to disclose that > >> one exists.". > >> > >> When I try to drive the URL for the servlet using curl, I get the same > >> message. > >> > >> Tomcat obviously sees the WAR file and unpacks it, but is not executing > >> the servlet java code. > >> In the "dopost()" method, the first thing I do is write to the log: > >> resp.setContentType("text/html"); > >> ServletContext CTX = getServletConfig().getServletContext(); > >> CTX.log("WHMerge Entered:"); > >> I check the logs and the message never appears. > >> > >> I suspect that I made a mistake configuring Tomcat, but am not sure > >> where... > >> > >> Any advise would be greatly appreciated. > >> > >> With kindest regards, > >> > >> Franklin Myers > >> > >> > > > > -- > > Mit freundlichem Gru? / With kind regards > > Holger Klawitter > > -- > > listen <at> klawitter <dot> de > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > -- Mit freundlichem Gruß / With kind regards Holger Klawitter -- listen <at> klawitter <dot> de --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org