从 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 代码的主要内容,如果未能解决你的问题,请参考以下文章

从 javascript 适配器调用 java 代码

如何从 MFP 8.0 中的 java 适配器异步调用 javascript 适配器?

Worklight:我们可以在从 JS 适配器调用的 Java 代码中使用两阶段提交吗?

从 REST 客户端调用 Worklight Javascript SQL 适配器

如何在 MobileFirst Platform 7.0 中从 JS 适配器过程调用 Java 适配器过程?

从 HttpAdapter 获取会话到基于 Java 的适配器