2013-09-24 31 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

相關問題