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

时间:2016-11-10 08:05:57

标签: java ibm-mobilefirst websphere-liberty worklight-adapters worklight-server

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

上面的东西在我的独立工作灯服务器上工作正常(在我的桌面工作灯服务器上)。问题是当我把Java类放在我的Worklight Liberty配置文件服务器(这是我的UAT盒子)上时,我收到了一个错误

  

[错误] FWLSE0099E:调用过程[项目MYApp]时发生错误BusinessAdapter / parseReqestFWLSE0100E:参数:[project MYApp]   TypeError:无法在对象[JavaPackage com.myapp.Decrypt]中调用属性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测试的显示器。

提前致谢

1 个答案:

答案 0 :(得分:0)

这通常发生在Eclipse 中设置的Java版本与用于构建.war文件之间的Java版本不匹配时,安装的Java版本在您部署.war文件的远程服务器中使用

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