i don't want to use an java api vom javascript.
The problem is in my JavaScript Code is an call of the new webSockets
which where new in HTML5.
JavaScript code example:
testOpenSocket();
function testOpenSocket(){
socket = new WebSocket("ws://
192.168.124.125:123");
//Associate listeners
socket.onopen = function(evt) {
returnValue = "Conneciton established!";
};
}
If executed with Rhino it creates this error message:
javax.script.ScriptException:
sun.org.mozilla.javascript.internal.EcmaError: ReferenceError:
"WebSocket" is not defined. (<Unknown source>#5) in <Unknown source>
at line number 5
at com.sun.script.javascript.RhinoScriptEngine.eval(Unknown Source)
at com.sun.script.javascript.RhinoScriptEngine.eval(Unknown Source)
at javax.script.AbstractScriptEngine.eval(Unknown Source)
at
javaScriptIntegration.JavaScriptIntegration.test(JavaScriptIntegration.java:
53)
at javaScriptIntegration.startTest2.main(startTest2.java:7)
Caused by: sun.org.mozilla.javascript.internal.EcmaError:
ReferenceError: "WebSocket" is not defined. (<Unknown source>#5)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.constructError(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.constructError(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.notFoundError(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.nameOrFunction(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.name(Unknown
Source)
at
sun.org.mozilla.javascript.internal.Interpreter.interpretLoop(Unknown
Source)
at sun.org.mozilla.javascript.internal.Interpreter.interpret(Unknown
Source)
at
sun.org.mozilla.javascript.internal.InterpretedFunction.call(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ContextFactory.doTopCall(Unknown
Source)
at
sun.org.mozilla.javascript.internal.ScriptRuntime.doTopCall(Unknown
Source)
at
sun.org.mozilla.javascript.internal.InterpretedFunction.exec(Unknown
Source)
at sun.org.mozilla.javascript.internal.Context.evaluateReader(Unknown
Source)
... 5 more
On 26 Sep., 16:35, felipe valdez <
felipeval...@gmail.com> wrote:
> any java api can be used from rhino
> so you can make a layer, that lets you not change the code:
>
> old code:
>
> function a()
> function b()
>
> java code:
>
> function a(){call jsfunction_a() websocket_from_java_and_behave_like
> old_a()}
> functino b(){call jsfunction_b() websocket_from_java_and_behave_like
> old_b()}
>
> java layer:
>
> jsfunction_a(){
> call java api
>
> }
>
> lots of unit tests..
>