无法从 Worklight Liberty 服务器中的 HTTP 适配器调用 java 类

Posted

技术标签:

【中文标题】无法从 Worklight Liberty 服务器中的 HTTP 适配器调用 java 类【英文标题】:unable to call a java class from HTTP Adapter in Worklight Liberty server 【发布时间】:2016-11-10 08:05:56 【问题描述】:

我们正在开发一个 MobileFirst Hybrid 银行应用程序。我们实现了加密机制。来自移动客户端的所有请求都被加密并发送到服务器,并且在工作灯适配器上,请求使用 RSA 解密。对于这个解密过程,我使用了一个 Java 类来执行解密过程。从我的 HTTP 适配器方法中,我通过将我的请求作为参数传递来直接调用我的 Java 类,如下所示 function decryptRequest(param) var result = com.myapp.Decrypt.decrypt(param); WL.Logger.error("result "+result); return result:result ;

上面的东西在我的独立工作灯服务器上运行良好(在我的桌面工作灯服务器上)。问题是当我将 Java 类放在我的 Worklight Liberty 配置文件服务器(这是我的 UAT 框)上时出现错误

[ERROR] FWLSE0099E:调用过程 [project MYApp]BusinessAdapter/parseReqestFWLSE0100E:参数:[project MYApp] 时发生错误 TypeError:无法在对象 [JavaPackage com.myapp.Decrypt] 中调用属性解密。它不是一个函数,它是“对象”。

我在 server/java/com/myapp/Decrypt 下有我的 Java 类(在 worklight studio 上)。当我使用 MYApp.war 并检查 war 文件在“MYApp.war\WEB-INF\classes\com\myapp\Decrypt.class”下有我的 java 类“Decrypt”时。我更新了我的 worklight Liberty 服务器(我的 UAT 服务器)上的“MYApp.war”文件,但即便如此,我还是收到了上述错误。谁能告诉我我是否错过了任何事情要做。我是否应该做更多的事情来让我的 HTTP 适配器调用 Java Decrypt 类方法。

任何帮助将不胜感激。请有人帮忙解决这个问题,因为它现在已成为我的 UAT 第 1 阶段测试的障碍。

提前致谢

【问题讨论】:

你能分享一下你的java类代码的sn-p吗? 【参考方案1】:

这通常发生在 Java 版本在 Eclipse 中设置(用于构建 .war 文件)与 Java 版本安装和在您将 .war 文件部署到的远程服务器中使用

您需要仔细检查以上内容。

【讨论】:

以上是关于无法从 Worklight Liberty 服务器中的 HTTP 适配器调用 java 类的主要内容,如果未能解决你的问题,请参考以下文章

Worklight Clustering 如何在 WAS Liberty Core 中工作?

IBM Worklight Liberty Farm Config 问题和日志

如何启动在 Websphere Liberty Core 中自动部署的 Worklight 服务器

MobileFirst - WL 6.3 - Liberty 8.5.5.5(最新) - 在 Worklight Console 中找不到运行时

使用 Oracle 和 Liberty 安装 Worklight Server v506 不会创建预期的目录结构

IBM worklight v5.0.6 - 应用中心客户端无法连接到服务器