Hi, Ok so it turned out to be a simple fix. I had not named the servlet (in web.xml) that same as the access url (war).
Cheers, Stuart On 17 Oct 2012, at 10:03, Stuart Broad wrote: > Hi, > > Sorry to keep replying to my own question but I gathered two stack traces > from each of the calls to init that may be useful: > > On startup (and this is the servlet also used by the post): > > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) > at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) > at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) > at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963) > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > > On calling get (this is the one that fails and has no init-param information): > > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) > at > org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:857) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:680) > > Cheers, > > Stuart > > On 17 Oct 2012, at 09:15, Stuart Broad wrote: > >> Hi, >> >> I wanted to add that I am accessing the servlet via a javascript request >> from Apache HTTP. As such I am setting the following in the header of the >> POST response: >> >> resp.setHeader( "Access-Control-Allow-Origin", mAllowedHost ); >> >> Just wanted to mention this just in case it had anything to do with the >> init/param problem I am seeing. >> >> Cheers, >> >> Stuart >> >> On 16 Oct 2012, at 18:06, Stuart Broad wrote: >> >>> >>> Hi all, >>> >>> I am not sure why but my servlet init method is getting called more than >>> once and I am not sure why. Any help would be much appreciated. >>> >>> My web.xml is as follows: >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <web-app> >>> <servlet> >>> <servlet-name>myserlvet</servlet-name> >>> <servlet-class>MyServlet</servlet-class> >>> <async-supported>true</async-supported> >>> <init-param> >>> <param-name>example</param-name> >>> <param-value>value</param-value> >>> </init-param> >>> <load-on-startup>1</load-on-startup> >>> </servlet> >>> >>> <servlet-mapping> >>> <servlet-name>myservlet</servlet-name> >>> <url-pattern>/poll</url-pattern> >>> <url-pattern>/run</url-pattern> >>> <url-pattern>/stop</url-pattern> >>> </servlet-mapping> >>> <listener> >>> <listener-class>MySessionListener</listener-class> >>> </listener> >>> </web-app> >>> >>> I am accessing over HTTPS. The initial POST seems to work ok: >>> >>> 0:0:0:0:0:0:0:1%0 - - [16/Oct/2012:16:53:54 +0100] "POST /myservlet/run >>> HTTP/1.1" 200 34 >>> >>> But then this is followed by a GET which fails: >>> >>> 0:0:0:0:0:0:0:1%0 - - [16/Oct/2012:16:53:54 +0100] "GET >>> /myservlet/poll?_dc=1350402834770 HTTP/1.1" 500 2312 >>> >>> The reason the GET fails is because the creation of the Servlet fails. >>> This is the second time the servlet init is called and for the second time >>> the init parameters are null (so it fails to be created). If I could >>> figure out why the init params are null the second time around I could >>> probably come up with a work around BUT my preference is to figure out why >>> the init method is being called twice. >>> >>> I bit more information: >>> >>> Tomcat version: apache-tomcat-7.0.29 >>> Mac OS X 10.7.5 >>> >>> Cheers, >>> >>> Stuart >>> --------------------------------------------------------------------- >>> 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 >> > > > --------------------------------------------------------------------- > 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