Worklight 适配器它不是一个函数,它是“对象”。错误

Posted

技术标签:

【中文标题】Worklight 适配器它不是一个函数,它是“对象”。错误【英文标题】:Worklight adapter It is not a function, it is "object". error 【发布时间】:2013-09-24 10:49:45 【问题描述】:

将工作灯适配器部署到生产服务器后,当适配器调用 来自 javascript 的 java 代码我得到一个错误:

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上 适用于worklight studio,只有当我将适配器上传到tomcat时才会出现问题 我已经在这个论坛中尝试了其他问题的所有解决方案,例如我的问题

【问题讨论】:

不回答,但这里是a short video to demonstrate how to enable logging and use Java debugger with Worklight 6.0。也许现在或将来会有所帮助。 【参考方案1】:

在您的 Eclipse 首选项中将 java 编译器级别设置为 java 1.6 并重新构建。

【讨论】:

【参考方案2】:

搜索已经为您提供了几个问题/答案: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。

【讨论】:

这是 *** 中巨大的非工作“解决方案”中唯一对我有用的解决方案。

以上是关于Worklight 适配器它不是一个函数,它是“对象”。错误的主要内容,如果未能解决你的问题,请参考以下文章

在 IBM Worklight 中运行 HTTP 适配器时出错

从 IBM Workilght Server 获取错误 [它不是函数,它是“对象”。]

Worklight 适配器部署

发送推送通知时出现 Worklight 错误

如何在 Worklight 6.2 中链接来自移动客户端的适配器调用?

如何为android应用程序制作worklight服务器