从 javascript 适配器调用 java 代码
Posted
技术标签:
【中文标题】从 javascript 适配器调用 java 代码【英文标题】:Calling java code from javascript adapters 【发布时间】:2017-10-31 16:16:03 【问题描述】:在尝试使用 Mobilefirst 8.0 时遇到以下问题。
以下链接中的示例代码用于测试。
https://github.com/MobileFirst-Platform-Developer-Center/Adapters/tree/release80
Project structure
com.ibm.mfp.server.js.adapter.internal.javascriptManagerImpl E FWLST0904E:调用过程时引发异常:适配器中的减法整数:UsingJavaInJavaScriptAdapters org.mozilla.javascript.EcmaError: TypeError: [JavaPackage com.sample.customcode.Calculator] 不是函数,它是对象。 (使用JavaInJavaScriptAdapters-impl.js#24) 在 org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3951) 在 org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3929) 在 org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3962) 在 org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3981) 在 org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:4036) 在 org.mozilla.javascript.ScriptRuntime.notFunctionError(ScriptRuntime.java:4024) 在 org.mozilla.javascript.ScriptRuntime.newObject(ScriptRuntime.java:2502)
【问题讨论】:
【参考方案1】:当您的服务器运行的 Java 版本与构建适配器时所用的 Java 版本不同时,通常会发生这种情况。例如,MFP 服务器运行在 JDK 1.7 上,而适配器是使用 JDK 1.8 构建的。
确保您的服务器运行的 Java 版本与用于构建适配器的 Java 版本相同。
【讨论】:
已验证。服务器和适配器都使用 JDK 1.8。以上是关于从 javascript 适配器调用 java 代码的主要内容,如果未能解决你的问题,请参考以下文章
如何从 MFP 8.0 中的 java 适配器异步调用 javascript 适配器?
Worklight:我们可以在从 JS 适配器调用的 Java 代码中使用两阶段提交吗?
从 REST 客户端调用 Worklight Javascript SQL 适配器