ECMA TypeError wywołujący klasę Java z adaptera Worklight

Widziałem wiele pytań na ten temat, ale nie ma jednoznacznych odpowiedzi. Mam problem z wywołaniem klasy Java z mojej implementacji adaptera Worklight. Zastąpiłem mój kod kodem z samouczka IBM Worklight Java Adapter i nie działa on dokładnie w ten sam sposób. Ponadto znalazłem odpowiedź na stronie IBM, mówiąc, że kompilator Java 1.7 może spowodować ten problem i zamiast tego użyć Java 1.6. Sprawdziłem, że moim kompilatorem w Eclipse jest Java 1.6.

Moje klasy Java zaczynają się od com (np. Com.worklight.customcode). Próbowałem zarówno wywoływać publiczne metody statyczne (używając właściwej składni), jak i tworzyć instancję obiektu i wywoływać metodę. Jak wspomniano powyżej, sprawdziłem również, czy używam kompilatora Java 1.6.

Oto kilka przykładów kodu:

Plik implementacji adaptera:

function addTwoIntegers(a,b){
    return {
        result: com.worklight.customcode.Calculator1.addTwoIntegers(a,b)
    };
}

Plik Java (nieedytowana próbka IBM Worklight): pakiet com.worklight.customcode;

import java.util.logging.Logger;

public class Calculator1 {

    private final static Logger logger = Logger.getLogger(Calculator1.class.getName());

    public static int addTwoIntegers(int first, int second){
        logger.info("addTwoIntegers invoked");
        return first + second;
    }

    public int subtractTwoIntegers(int first, int second){
        logger.info("subtractTwoIntegers invoked");
        return first - second;
    }

}

Błąd w konsoli:

TypeError: Nie można wywołać właściwości addTwoIntegers w obiekcie [JavaPackage com.worklight.customcode.Calculator1]. To nie jest funkcja, to „obiekt”. (% 2FUsers% 2Fhome% 2Fdev% 2Fapp% 2Fappprj% 2Fadapters% 2Fadapter / adapter-impl.js # 26) FWLSE0101E: Przyczyna: null

Niektóre z powiązanych pytań to:

Błąd Ecma: Błąd typu: Nie można wywołać właściwościChcę wywołać klasę java z adaptera Worklighthttps://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014867695

questionAnswers(5)

yourAnswerToTheQuestion