似乎错误与java类的包有关,如果它以com.xx.xx开头,它可以工作,如果它以cn.xx.xx开头,则会抛出错误。这是一个错误吗?
Java类:
package cn.linkey.util;
public class TestJava {
public String md5(String aa){
return "md5" + aa;
}
}
适配器:
function sayHello(name){
var tj = new cn.linkey.util.TestJava();
return {result: "hello " + tj.md5(name) + '.'};
}
错误:
{
"errors": [
"Ecma Error: ReferenceError: \"cn\" is not defined. (TestHTTP-impl.js#41)"
],
"info": [
],
"isSuccessful": false,
"warnings": [
]
}
服务器错误:
[ERROR ] FWLSE0099E: An error occurred while invoking procedure [project HelloWL]TestHTTP/sayHelloFWLSE0100E: parameters: [project HelloWL]
ReferenceError: "cn" is not defined. (TestHTTP-impl.js#41)
FWLSE0101E: Caused by: [project HelloWL]nullorg.mozilla.javascript.EcmaError: ReferenceError: "cn" is not defined. (TestHTTP-impl.js#41)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3687)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3665)
at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3750)
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1728)
at org.mozilla.javascript.gen.TestHTTP_impl_js_6._c_sayHello_1(TestHTTP-impl.js:41)
at org.mozilla.javascript.gen.TestHTTP_impl_js_6.call(TestHTTP-impl.js)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.gen.TestHTTP_impl_js_6.call(TestHTTP-impl.js)
at com.worklight.integration.js.JavaScriptManager.callFunction(JavaScriptManager.java:240)
at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:214)
at com.worklight.integration.js.JavaScriptManager.invokeFunction(JavaScriptManager.java:194)
at com.worklight.integration.services.impl.AdapterManagerImpl.invokeFunction(AdapterManagerImpl.java:117)
at com.worklight.integration.js.JavaScriptProcedureInvoker.invoke(JavaScriptProcedureInvoker.java:42)
at com.worklight.integration.model.ProcedureInvoker.invokeProcedure(ProcedureInvoker.java:57)
at com.worklight.integration.model.Procedure.invoke(Procedure.java:166)
at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:169)
at com.worklight.integration.model.InvocationContext.call(InvocationContext.java:38)
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:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at com.worklight.server.util.ProjectLocal$1RunnableWrapper.run(ProjectLocal.java:261)
at java.lang.Thread.run(Thread.java:695)
答案 0 :(得分:0)
Worklight文档明确提到仅使用com
/ org
/ net
作为包前缀,而您使用cn
。
请参阅Using Java in adapters培训模块中的幻灯片#7 更改已使用的前缀,因为这可能会解决您遇到的问题。