From: Vinay M. <vin...@gm...> - 2005-03-03 06:44:31
|
Hi, I am using HtmlUnit to connect to a site that requires me to perform a SSL client authentication. The site works by installing a certificate in my browser using the IE ActiveX object XEnroll to make the certificate request. I trying to do the same through HtmlUnit and I think I havent been to load the ActiveX object at all. The page specifies the ActiveX object within a span element as : <span id="spanXenroll" style="display:none"> <Object ClassID="....." Codebase="...." ID="XEnroll"> </Object> </span> The code relating to the ActiveX Object is set dynamically using span's innerHtml property. The page also has a method to check if the ActiveX object has been loaded. This method is executed every 500ms using javascript's setTimeOut method. This method gets executed five times after which I get the following exception trace: Exception class=[org.mozilla.javascript.WrappedException] com.gargoylesoftware.htmlunit.ScriptException: Wrapped java.lang.IllegalArgumentException at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:294) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:709) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:266) at java.lang.Thread.run(Thread.java:534) WrappedException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:289) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:709) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:266) at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Thread.java:873) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsFunction_setTimeout(Window.java:287) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) ... 14 more Inside wrapped exception: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Thread.java:873) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsFunction_setTimeout(Window.java:287) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:289) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:709) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:266) at java.lang.Thread.run(Thread.java:534) == CALLING JAVASCRIPT == GargoyleWrapper4() ======= EXCEPTION END ======== The currentThread's priority falls out of the accepted range because of the repeated execution of the above function to test if the ActiveX object has been loaded. Is there anything else that I need to be doing to load the ActiveX object ? Any help would be greatly appreciated... Regards Vinay |