Hi, if you inspect the log you'll see:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target which is typical when you use a self signed certificate in a dev environment. 2 possibilities: - import the certificate - use insecure SSL (I guess it was already available in HTMLUnit 1.14): <groovy> step.context.webClient.useInsecureSSL = true </groovy> (perhaps should WebTest offer a config option for this?) Cheers, Marc. -- Blog: http://mguillem.wordpress.com Hesteric Roman - Together SK wrote: > Hi there! > > I test my application based on Tomcat via SSL problem less. But > when I try to test the same application using APR [Apache Portable > Runtime], I cannot login in server and I get Exception. Any Ideas? Non > SSL tests are OK regardless of using APR on Tomcat ... > > > Exception: > Unexpected exception caught: javax.net.ssl.SSLHandshakeException > at > com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:113) > at com.canoo.webtest.steps.Step.handleException(Step.java:378) > at com.canoo.webtest.steps.Step.execute(Step.java:109) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.steps.AbstractStepContainer.executeContainedStep(Abstr > actStepContainer.java:72) > at > com.canoo.webtest.steps.AbstractStepContainer.executeContainedSteps(Abst > ractStepContainer.java:80) > at > com.canoo.webtest.steps.control.IfStep.doExecute(IfStep.java:165) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav > a:43) > at > com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3 > 1) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:206) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe > ckExecutor.java:38) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > at > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe > ckExecutor.java:38) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at org.apache.tools.ant.Project.executeTarget(Project.java:1298) > at > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut > or.java:41) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.Main.runBuild(Main.java:698) > at org.apache.tools.ant.Main.startAnt(Main.java:199) > at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) > at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) > Caused by: javax.net.ssl.SSLHandshakeException: > sun.security.validator.ValidatorException: PKIX path building failed: > sun.security.provider.certpath.SunCertPathBuilderException: unable to > find valid certification path to requested target > at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown > Source) > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unkno > wn Source) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source) > at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown > Source) > at java.io.BufferedOutputStream.flushBuffer(Unknown Source) > at java.io.BufferedOutputStream.flush(Unknown Source) > at > org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Ht > tpConnection.java:828) > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon > nectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManag > er.java:1565) > at > org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase > .java:2116) > at > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java > :1096) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe > thodDirector.java:398) > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho > dDirector.java:171) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 97) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 46) > at > com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne > ction.java:121) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection > (WebClient.java:1500) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1 > 456) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:421) > at > com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja > va:69) > at > com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac > tTargetAction.java:66) > at > com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:16 > 0) > at > com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT > argetAction.java:72) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > ... 67 more > Caused by: sun.security.validator.ValidatorException: PKIX path building > failed: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at sun.security.validator.PKIXValidator.doBuild(Unknown Source) > at sun.security.validator.PKIXValidator.engineValidate(Unknown > Source) > at sun.security.validator.Validator.validate(Unknown Source) > at > com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unk > nown Source) > at > com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unk > nown Source) > ... 95 more > Caused by: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at > sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown > Source) > at java.security.cert.CertPathBuilder.build(Unknown Source) > ... 100 more > --- Nested Exception --- > javax.net.ssl.SSLHandshakeException: > sun.security.validator.ValidatorException: PKIX path building failed: > sun.security.provider.certpath.SunCertPathBuilderException: unable to > find valid certification path to requested target > at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown > Source) > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown > Source) > at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source) > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown > Source) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unkno > wn Source) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source) > at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown > Source) > at java.io.BufferedOutputStream.flushBuffer(Unknown Source) > at java.io.BufferedOutputStream.flush(Unknown Source) > at > org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Ht > tpConnection.java:828) > at > org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon > nectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManag > er.java:1565) > at > org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase > .java:2116) > at > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java > :1096) > at > org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe > thodDirector.java:398) > at > org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho > dDirector.java:171) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 97) > at > org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3 > 46) > at > com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne > ction.java:121) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection > (WebClient.java:1500) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1 > 456) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355) > at > com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:421) > at > com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja > va:69) > at > com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac > tTargetAction.java:66) > at > com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:16 > 0) > at > com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT > argetAction.java:72) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.steps.AbstractStepContainer.executeContainedStep(Abstr > actStepContainer.java:72) > at > com.canoo.webtest.steps.AbstractStepContainer.executeContainedSteps(Abst > ractStepContainer.java:80) > at > com.canoo.webtest.steps.control.IfStep.doExecute(IfStep.java:165) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav > a:43) > at > com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3 > 1) > at com.canoo.webtest.steps.Step.execute(Step.java:101) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at > com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:206) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe > ckExecutor.java:38) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > at > org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at > org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe > ckExecutor.java:38) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416) > at > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) > at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown > Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at > org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1 > 05) > at org.apache.tools.ant.Task.perform(Task.java:348) > at org.apache.tools.ant.Target.execute(Target.java:357) > at org.apache.tools.ant.Target.performTasks(Target.java:385) > at > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) > at org.apache.tools.ant.Project.executeTarget(Project.java:1298) > at > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut > or.java:41) > at > org.apache.tools.ant.Project.executeTargets(Project.java:1181) > at org.apache.tools.ant.Main.runBuild(Main.java:698) > at org.apache.tools.ant.Main.startAnt(Main.java:199) > at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) > at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) > Caused by: sun.security.validator.ValidatorException: PKIX path building > failed: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at sun.security.validator.PKIXValidator.doBuild(Unknown Source) > at sun.security.validator.PKIXValidator.engineValidate(Unknown > Source) > at sun.security.validator.Validator.validate(Unknown Source) > at > com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unk > nown Source) > at > com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unk > nown Source) > ... 95 more > Caused by: sun.security.provider.certpath.SunCertPathBuilderException: > unable to find valid certification path to requested target > at > sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown > Source) > at java.security.cert.CertPathBuilder.build(Unknown Source) > ... 100 more > > > > Regards, > Roman Hesteric > _______________________________________________ > WebTest mailing list > [email protected] > http://lists.canoo.com/mailman/listinfo/webtest > _______________________________________________ WebTest mailing list [email protected] http://lists.canoo.com/mailman/listinfo/webtest

