2013-09-24 33 views
0

部署工作灯适配器到生产服务器,当适配器拨打电话时 Java代码从JavaScript后,我得到一个错误:工作灯适配器它不是一个函数,它是“对象”。错误

rocedure invocation error. Ecma Error: TypeError: Cannot call property updateProposal in object [JavaPackage com.idit.smartphone.managers.ProposalManager]. It is not a function, it is "object". (IDITBackend-impl.js#119) 

我试图调用不带参数的类的测试功能,它仍然不工作 我的课看起来像

package com.idit.smartphone.managers; 
public class ProposalManager { 
    public static String test(){ 
     return "Successss"; 
    } 
} 

和呼叫:

function finishTask(policyExtNum, answers, closeUnderwriting){ 

    WL.Logger.info("Service finishTask called."); 
    var proposal = getProposalForUpdate(policyExtNum); 
    WL.Logger.info("finishTask got proposal"); 
    var updatedProposal = com.idit.smartphone.managers.ProposalManager.test(); 
    var result = sendProposalForUpdate(updatedProposal); 
    WL.Logger.info("finishTask updated proposal"); 

    return result; 
} 
  • 我正在使用昨天发布的 工作灯的最新版本。 6.0.0.20130917-1749部署在Tomcat 6
  • 它适用于工作灯工作室,问题只是当我上传适配器到tomcat
  • 我会试着在这个论坛的所有解决方案,像我这样的其他问题
+0

没有回答,但这里是[演示如何启用日志记录并使用Worklight 6.0使用Java调试器的简短视频](https://www.ibm.com/developerworks/community/blogs/worklight/entry/logging_and_debugging_on_worklight_server?lang = EN)。也许它现在或将来都有帮助。 – cnandreu

回答

2

在您的eclipse偏好设置java编译器级别为java 1.6并重建。

3

搜索会给你几个问题/答案:i want to call a java class from the worklight adapter; ECMA TypeError calling Java class from Worklight adapter; Ecma Error: TypeError: Cannot call property

我们曾经多次发现过这个问题,并且总是与一个损坏的eclipse .project文件有关。会发生什么情况是,您所拥有的Java类不会构建,并且不会添加到您的worklight.war文件中。当您部署应用程序时,服务器上缺少已编译的类,并且ECMA错误以非常神秘的方式告诉您。

我们找到的一个解决方案是打开WL项目的属性,右键单击Java构建路径,然后使用按钮将某些条目向上和向下移动。在关闭属性对话框后,eclipse应该重写.project文件,并且构建应该可以工作。

我们有时做的另一件事是使用eclipse New-class向导在项目的project/server/java部分添加一个新类,清理并重建项目,然后再次移除该类。也许甚至可以在启动字符串的末尾使用选项-clean启动eclipse。

+0

这是唯一的解决方案,适用于在stackoverflow中的巨大非工作“解决方案”中工作。 – Qylin

相关问题