Jason, I found the Redirector change happening at function (AbstractHttpClient.java) private WebTestResult callGetResult( AbstractAuthentication theAuthentication) throws Throwable { WebRequest resultsRequest = new WebRequest(this.configuration); <--- here // Add authentication details if (theAuthentication != null) { resultsRequest.setAuthentication(theAuthentication); }
// Open the second connection to get the test results ConnectionHelper helper = ConnectionHelperFactory.getConnectionHelper( getRedirectorURL(resultsRequest), this.configuration); The ServletConfiguration does not contain the redirector set in WebRequest object instead it loads it default redirector from the cactus.properties. this.configuration is coming from new Configuration being initialized in ServletTestCase class * @see AbstractTestCase#createConfiguration() */ protected Configuration createConfiguration() { return new ServletConfiguration(); } When the user sets the redirector in Webrequest that never gets updated in the configuration. So when getRedirectorURL() gets called in AbstractHttpClient.java which is actually implemented in ServletHttpClient.java as protected String getRedirectorURL(WebRequest theRequest) { String url; // Check if user has overriden the servlet redirector if (theRequest.getRedirectorName() != null) { url = this.configuration.getContextURL() + "/" + theRequest.getRedirectorName(); } else { url = this.configuration.getRedirectorURL(); } return url; } The theRequest parameter being a newly intialized WebRequest object does not have the redirector set from the old request object used for Form Authentication. Hence callResult function never goes to the Secured Servlet Redirector used earlier to run the test. I am not too sure if the unsecured redirector will be able to return the results. Maybe cactus guru's will know the answer to this design. Pranab -----Original Message----- From: Robertson, Jason [mailto:Jason.Robertson@;acs-inc.com] Sent: Friday, October 25, 2002 6:20 PM To: 'Cactus Users List' Subject: RE: FormAuthentication Yes, you're correct with the need to get the context URL as well. As for the rest of it, I'm not sure. I'll try looking at the log again, but there's a lot of information there! Jason -----Original Message----- From: Dhar, Pranab [mailto:Pranab.Dhar@;DFA.STATE.NY.US] Sent: Friday, October 25, 2002 3:43 PM To: 'Cactus Users List' Subject: RE: FormAuthentication Jason, Sorry for the typo Error in my last post.it should be getConfiguration().getContextURL()+"/"+theRequest.getRedirectorName(); I just compiled the code and tested it. I am getting past the authentication now but getting stuck somewhere after that. Somewhere down the line the ServletRedirectorSecure is getting switched back to ServletRedirector even though I am setting the URL to a secured resource.I am getting a Error 404 instead of the regulars output from the servlet. Pranab I added the following in the test code public void beginBasicAuthentication(WebRequest theRequest) { theRequest.setURL("localhost:8080", "/", "/secure/idsconf", null, null); <-- theRequest.addCookie( "test", "test" ); theRequest.setRedirectorName("ServletRedirectorSecure"); theRequest.setAuthentication( new FormAuthentication("admin", "admin")); } public void testBasicAuthentication() { try { idsconfServlet servlet = new idsconfServlet();<-- servlet.init(this.config);<-- servlet.doGet(this.request,this.response);<-- assertEquals("admin", request.getUserPrincipal().getName()); assertEquals("admin", request.getRemoteUser()); assertTrue("User not in 'admin' role", request.isUserInRole("admin")); } catch (ServletException e) { log.error(e); } catch (IOException e) { log.error(e); } } Debug LOG 15:25:40,563 [main] DEBUG util.UrlUtil - <getPath([http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=te stBasicAuthentication&Cactus_URL_ContextPath=%2F&Cactus_URL_Server=localhost %3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids. servlet.TestLoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=ht tp&Cactus_Service=CALL_TEST]) 15:25:40,563 [main] DEBUG util.UrlUtil - >getPath = [/ServletRedirectorSecure] 15:25:40,563 [main] DEBUG util.UrlUtil - <getQuery([http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=t estBasicAuthentication&Cactus_URL_ContextPath=%2F&Cactus_URL_Server=localhos t%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids .servlet.TestLoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=h ttp&Cactus_Service=CALL_TEST]) 15:25:40,563 [main] DEBUG util.UrlUtil - >getQuery = [Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath=%2F&Cactus _URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fidsconf&Cact us_TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSession=true&C actus_URL_Protocol=http&Cactus_Service=CALL_TEST] 15:25:40,563 [main] DEBUG ent.HttpClientConnectionHelper - <getCookieString([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [/], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[/]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [http://localhost:8080/ServletRedirectorSecure?Cactus_TestMethod=testBasicAu thentication&Cactus_URL_ContextPath=%2F&Cactus_URL_Server=localhost%3A8080&C actus_URL_ServletPath=%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.T estLoginServlet&Cactus_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus _Service=CALL_TEST]) 15:25:40,563 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [/], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[/]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=%2F&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath =%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactu s_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 15:25:40,563 [main] DEBUG cactus.Cookie - Cookie validation pah = [//secure/idsconf] 15:25:40,563 [main] DEBUG cactus.Cookie - >getCookiePath = [//secure/idsconf] 15:25:40,563 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [/], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[/]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=%2F&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath =%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactu s_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 15:25:40,563 [main] DEBUG cactus.Cookie - Cookie validation pah = [//secure/idsconf] 15:25:40,563 [main] DEBUG cactus.Cookie - >getCookiePath = [//secure/idsconf] 15:25:40,563 [main] DEBUG cactus.Cookie - <getCookieDomain([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [/], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[/]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [localhost]) 15:25:40,563 [main] DEBUG cactus.Cookie - Cookie validation domain = [localhost] 15:25:40,563 [main] DEBUG cactus.Cookie - >getCookieDomain = [localhost] 15:25:40,563 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [protocol = [http], host name = [localhost], port = [8080], context path = [/], servlet path = [/secure/idsconf], path info = [null], query string = [null]], automatic session = [true], cookies = [[name = [test], value = [test], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]][name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_TestMethod] = [[testBasicAuthentication]]][[Cactus_URL_ContextPath] = [[/]]][[Cactus_URL_Server] = [[localhost:8080]]][[Cactus_URL_ServletPath] = [[/secure/idsconf]]][[Cactus_TestClass] = [[com.ids.servlet.TestLoginServlet]]][[Cactus_AutomaticSession] = [[true]]][[Cactus_URL_Protocol] = [[http]]][[Cactus_Service] = [[CALL_TEST]]]], POST parameters = []], [/ServletRedirectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_U RL_ContextPath=%2F&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath =%2Fsecure%2Fidsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactu s_AutomaticSession=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST]) 15:25:40,563 [main] DEBUG cactus.Cookie - Cookie validation pah = [//secure/idsconf] 15:25:40,563 [main] DEBUG cactus.Cookie - >getCookiePath = [//secure/idsconf] 15:25:40,683 [main] DEBUG ent.HttpClientConnectionHelper - >getCookieString = [$Version=0; test=test; JSESSIONID=B9D9DDE0DD962B211E36D92FBE854D67] 15:25:50,928 [main] DEBUG ent.HttpClientConnectionHelper - >connect = [org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedir ectorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath =%2F&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fi dsconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSes sion=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST] 15:25:50,938 [main] DEBUG ient.AutoReadHttpURLConnection - Original connection = org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedire ctorSecure?Cactus_TestMethod=testBasicAuthentication&Cactus_URL_ContextPath= %2F&Cactus_URL_Server=localhost%3A8080&Cactus_URL_ServletPath=%2Fsecure%2Fid sconf&Cactus_TestClass=com.ids.servlet.TestLoginServlet&Cactus_AutomaticSess ion=true&Cactus_URL_Protocol=http&Cactus_Service=CALL_TEST 15:25:50,938 [main] DEBUG util.HttpURLConnection - <getHeaderField([content-length]) 15:25:50,938 [main] DEBUG util.HttpURLConnection - >getHeaderField = [null] 15:25:50,938 [main] DEBUG ient.AutoReadHttpURLConnection - Content-Length : [-1] 15:25:50,938 [main] DEBUG util.HttpURLConnection - <getHeaderField([content-length]) 15:25:50,938 [main] DEBUG util.HttpURLConnection - >getHeaderField = [null] 15:25:50,938 [main] DEBUG ient.AutoReadHttpURLConnection - Read [185]: [\n\r\n\r\n\r\n\r<html lang="en" xml:lang="en">\n\r<head>\n\r<title>Error 404</title>\n\r</head>\n\r\n\r<body>\n\r\n\r<div>\n\r\n\r<p>Error 404</p>\n\r\n\r<p>Resource Not Found</p>\n\r\n\r</div>\n\r\n\r</body>\n\r\n\r</html>\n\r] 15:25:50,938 [main] DEBUG cactus.WebRequest - <addParameter([Cactus_Service], [GET_RESULTS], [GET]) 15:25:50,938 [main] DEBUG cactus.WebRequest - >addParameter 15:25:50,938 [main] DEBUG cactus.WebRequest - <setAuthentication([org.apache.cactus.client.authentication.FormAuthenticati on@169ca65]) 15:25:50,938 [main] DEBUG hentication.FormAuthentication - <setConfiguration([org.apache.cactus.util.ServletConfiguration@15a8767]) 15:25:50,938 [main] DEBUG hentication.FormAuthentication - >setConfiguration 15:25:50,938 [main] DEBUG cactus.WebRequest - >setAuthentication 15:25:50,938 [main] DEBUG client.ConnectionHelperFactory - <getConnectionHelper([http://localhost:8080/ServletRedirector], [org.apache.cactus.util.ServletConfiguration@15a8767]) 15:25:50,938 [main] DEBUG client.ConnectionHelperFactory - >getConnectionHelper = [org.apache.cactus.client.HttpClientConnectionHelper@1adc30] 15:25:50,938 [main] DEBUG ent.HttpClientConnectionHelper - <connect([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 15:25:50,938 [main] DEBUG hentication.FormAuthentication - <configure([simulation URL = [null], automatic session = [true], cookies = [], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []]) 15:25:50,938 [main] DEBUG cactus.WebRequest - <addCookie([JSESSIONID], [B9D9DDE0DD962B211E36D92FBE854D67]) 15:25:50,938 [main] DEBUG cactus.WebRequest - <addCookie([localhost], [JSESSIONID], [B9D9DDE0DD962B211E36D92FBE854D67]) 15:25:50,938 [main] DEBUG cactus.Cookie - <setDomain([localhost]) 15:25:50,938 [main] DEBUG cactus.Cookie - >setDomain 15:25:50,938 [main] DEBUG cactus.Cookie - <setName([JSESSIONID]) 15:25:50,938 [main] DEBUG cactus.Cookie - >setName 15:25:50,948 [main] DEBUG cactus.Cookie - <setValue([B9D9DDE0DD962B211E36D92FBE854D67]) 15:25:50,948 [main] DEBUG cactus.Cookie - >setValue 15:25:50,948 [main] DEBUG cactus.WebRequest - <addCookie([name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]) 15:25:50,948 [main] DEBUG cactus.WebRequest - >addCookie 15:25:50,948 [main] DEBUG cactus.WebRequest - >addCookie 15:25:50,948 [main] DEBUG cactus.WebRequest - >addCookie 15:25:50,948 [main] DEBUG hentication.FormAuthentication - >configure 15:25:50,948 [main] DEBUG cactus.WebRequest - <getParameterValuesGet([Cactus_Service]) 15:25:50,948 [main] DEBUG cactus.WebRequest - >getParameterValuesGet = [[Ljava.lang.String;@16df84b] 15:25:50,948 [main] DEBUG util.UrlUtil - <getPath([http://localhost:8080/ServletRedirector?Cactus_Service=GET_RESULTS ]) 15:25:50,948 [main] DEBUG util.UrlUtil - >getPath = [/ServletRedirector] 15:25:50,948 [main] DEBUG util.UrlUtil - <getQuery([http://localhost:8080/ServletRedirector?Cactus_Service=GET_RESULT S]) 15:25:50,948 [main] DEBUG util.UrlUtil - >getQuery = [Cactus_Service=GET_RESULTS] 15:25:50,948 [main] DEBUG ent.HttpClientConnectionHelper - <getCookieString([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [http://localhost:8080/ServletRedirector?Cactus_Service=GET_RESULTS]) 15:25:50,948 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [/ServletRedirector?Cactus_Service=GET_RESULTS]) 15:25:50,948 [main] DEBUG cactus.Cookie - Cookie validation pah = [/ServletRedirector] 15:25:50,948 [main] DEBUG cactus.Cookie - >getCookiePath = [/ServletRedirector] 15:25:50,948 [main] DEBUG cactus.Cookie - <getCookieDomain([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [localhost]) 15:25:50,948 [main] DEBUG cactus.Cookie - Cookie validation domain = [localhost] 15:25:50,948 [main] DEBUG cactus.Cookie - >getCookieDomain = [localhost] 15:25:50,948 [main] DEBUG cactus.Cookie - <getCookiePath([simulation URL = [null], automatic session = [true], cookies = [[name = [JSESSIONID], value = [B9D9DDE0DD962B211E36D92FBE854D67], domain = [localhost], path = [null], isSecure = [false], comment = [null], expiryDate = [null]]], headers = [], GET parameters = [[[Cactus_Service] = [[GET_RESULTS]]]], POST parameters = []], [/ServletRedirector?Cactus_Service=GET_RESULTS]) 15:25:50,948 [main] DEBUG cactus.Cookie - Cookie validation pah = [/ServletRedirector] 15:25:50,948 [main] DEBUG cactus.Cookie - >getCookiePath = [/ServletRedirector] 15:25:50,948 [main] DEBUG ent.HttpClientConnectionHelper - >getCookieString = [$Version=0; JSESSIONID=B9D9DDE0DD962B211E36D92FBE854D67] 15:25:51,129 [main] DEBUG ent.HttpClientConnectionHelper - >connect = [org.apache.cactus.util.HttpURLConnection:http://localhost:8080/ServletRedir ector?Cactus_Service=GET_RESULTS] 15:25:51,149 [main] DEBUG util.IoUtil - <getText([org.apache.commons.httpclient.AutoCloseInputStream@a46701]) 15:25:51,169 [main] DEBUG util.IoUtil - >getText = [<html><head><title>Apache Tomcat/4.0.4 - Error report</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Apache Tomcat/4.0.4 - HTTP Status 500 - Internal Server Error</h1><HR size="1" noshade><p><b>type</b> Exception report</p><p><b>message</b> <u>Internal Server Error</u></p><p><b>description</b> <u>The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NullPointerException at org.apache.cactus.server.AbstractWebTestCaller.doGetResults(AbstractWebTestC aller.java:199) at org.apache.cactus.server.AbstractWebTestController.dispatch93_handleRequest( AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):1 33) at org.apache.cactus.server.AbstractWebTestController.around93_handleRequest(Ab stractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):115 1) at org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWeb TestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):101) at org.apache.cactus.server.ServletTestRedirector.dispatch119_doPost(ServletTes tRedirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):125) at org.apache.cactus.server.ServletTestRedirector.around119_doPost(ServletTestR edirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):1151) at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector. java;org/apache/cactus/util/log/LogAspect.aj(1k):109) at org.apache.cactus.server.ServletTestRedirector.dispatch118_doGet(ServletTest Redirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):96) at org.apache.cactus.server.ServletTestRedirector.around118_doGet(ServletTestRe director.java;org/apache/cactus/util/log/LogAspect.aj(1k):1151) at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.j ava;org/apache/cactus/util/log/LogAspect.aj(1k):92) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase .java:475) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2 46) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125 ) at java.lang.Thread.run(Thread.java:536) </pre></p><HR size="1" noshade></body></html>] 15:25:51,169 [main] DEBUG client.WebTestResultParser - <parse([<html><head><title>Apache Tomcat/4.0.4 - Error report</title><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color : white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;} --></STYLE> </head><body><h1>Apache Tomcat/4.0.4 - HTTP Status 500 - Internal Server Error</h1><HR size="1" noshade><p><b>type</b> Exception report</p><p><b>message</b> <u>Internal Server Error</u></p><p><b>description</b> <u>The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.lang.NullPointerException at org.apache.cactus.server.AbstractWebTestCaller.doGetResults(AbstractWebTestC aller.java:199) at org.apache.cactus.server.AbstractWebTestController.dispatch93_handleRequest( AbstractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):1 33) at org.apache.cactus.server.AbstractWebTestController.around93_handleRequest(Ab stractWebTestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):115 1) at org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWeb TestController.java;org/apache/cactus/util/log/LogAspect.aj(1k):101) at org.apache.cactus.server.ServletTestRedirector.dispatch119_doPost(ServletTes tRedirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):125) at org.apache.cactus.server.ServletTestRedirector.around119_doPost(ServletTestR edirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):1151) at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector. java;org/apache/cactus/util/log/LogAspect.aj(1k):109) at org.apache.cactus.server.ServletTestRedirector.dispatch118_doGet(ServletTest Redirector.java;org/apache/cactus/util/log/LogAspect.aj(1k):96) at org.apache.cactus.server.ServletTestRedirector.around118_doGet(ServletTestRe director.java;org/apache/cactus/util/log/LogAspect.aj(1k):1151) at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.j ava;org/apache/cactus/util/log/LogAspect.aj(1k):92) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:190) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase .java:475) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:2 46) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve. java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170 ) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 64) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :174) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:5 66) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java: 1027) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125 ) at java.lang.Thread.run(Thread.java:536) </pre></p><HR size="1" noshade></body></html>]) 15:25:51,179 [main] DEBUG util.IoUtil - <getText([java.io.ByteArrayInputStream@47393f]) 15:25:51,179 [main] DEBUG util.IoUtil - >getText = [ <html lang="en" xml:lang="en"> <head><title>Error 404</title></head><body><div><p>Error 404</p><p>Resource Not Found</p></div></body> </html>] 15:25:51,189 [main] DEBUG servlet.TestLoginServlet - Exception in test 15:25:51,189 [main] DEBUG util.ChainedRuntimeException - <printStackTrace([org.apache.log4j.spi.VectorWriter@186768e]) 15:25:51,199 [main] DEBUG client.ParsingException - <printStackTrace([org.apache.log4j.spi.VectorWriter@186768e]) 15:25:51,199 [main] DEBUG client.ParsingException - >printStackTrace 15:25:51,199 [main] DEBUG util.ChainedRuntimeException - >printStackTrace org.apache.cactus.util.ChainedRuntimeException: Failed to get the test results. This is probably due to an error that happened on the server side when trying to execute the tests. Here is what was returned by the server : [ <html lang="en" xml:lang="en"> <head> <title>Error 404</title> </head> <body> <div> <p>Error 404</p> <p>Resource Not Found</p> </div> </body> </html> ] at org.apache.cactus.client.AbstractHttpClient.dispatch2_doTest(AbstractHttpCli ent.java;org/apache/cactus/util/log/LogAspect.aj(1k):139) at org.apache.cactus.client.AbstractHttpClient.around2_doTest(AbstractHttpClien t.java;org/apache/cactus/util/log/LogAspect.aj(1k):1222) at org.apache.cactus.client.AbstractHttpClient.doTest(AbstractHttpClient.java;o rg/apache/cactus/util/log/LogAspect.aj(1k):120) at org.apache.cactus.AbstractWebTestCase.runWebTest(AbstractWebTestCase.java:31 0) at org.apache.cactus.AbstractWebTestCase.runGenericTest(AbstractWebTestCase.jav a:260) at org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:137) at org.apache.cactus.AbstractTestCase.runBare(AbstractTestCase.java:255) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu nner.java:329) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. java:218) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner .java:151) org.apache.cactus.client.ParsingException: Not a valid response. First 100 characters of the reponse: [<html><head><title>Apache Tomcat/4.0.4 - Error report</title><STYLE><!--H1{font-family : sans-serif,] at org.apache.cactus.client.WebTestResultParser.readRootElement(WebTestResultPa rser.java;org/apache/cactus/util/log/LogAspect.aj(1k):149) at org.apache.cactus.client.WebTestResultParser.dispatch35_parse(WebTestResultP arser.java;org/apache/cactus/util/log/LogAspect.aj(1k):101) at org.apache.cactus.client.WebTestResultParser.around35_parse(WebTestResultPar ser.java;org/apache/cactus/util/log/LogAspect.aj(1k):1222) at org.apache.cactus.client.WebTestResultParser.parse(WebTestResultParser.java; org/apache/cactus/util/log/LogAspect.aj(1k):96) at org.apache.cactus.client.AbstractHttpClient.callGetResult(AbstractHttpClient .java;org/apache/cactus/util/log/LogAspect.aj(1k):248) at org.apache.cactus.client.AbstractHttpClient.dispatch2_doTest(AbstractHttpCli ent.java;org/apache/cactus/util/log/LogAspect.aj(1k):131) at org.apache.cactus.client.AbstractHttpClient.around2_doTest(AbstractHttpClien t.java;org/apache/cactus/util/log/LogAspect.aj(1k):1222) at org.apache.cactus.client.AbstractHttpClient.doTest(AbstractHttpClient.java;o rg/apache/cactus/util/log/LogAspect.aj(1k):120) at org.apache.cactus.AbstractWebTestCase.runWebTest(AbstractWebTestCase.java:31 0) at org.apache.cactus.AbstractWebTestCase.runGenericTest(AbstractWebTestCase.jav a:260) at org.apache.cactus.ServletTestCase.runTest(ServletTestCase.java:137) at org.apache.cactus.AbstractTestCase.runBare(AbstractTestCase.java:255) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu nner.java:329) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner. java:218) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner .java:151) 15:25:51,199 [main] DEBUG util.ChainedRuntimeException - <printStackTrace([java.io.PrintWriter@1551f60]) 15:25:51,199 [main] DEBUG client.ParsingException - <printStackTrace([java.io.PrintWriter@1551f60]) 15:25:51,209 [main] DEBUG client.ParsingException - >printStackTrace 15:25:51,209 [main] DEBUG util.ChainedRuntimeException - >printStackTrace -- To unsubscribe, e-mail: <mailto:cactus-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:cactus-user-help@;jakarta.apache.org> -- To unsubscribe, e-mail: <mailto:cactus-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:cactus-user-help@;jakarta.apache.org> -- To unsubscribe, e-mail: <mailto:cactus-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:cactus-user-help@;jakarta.apache.org>