2015-08-18 3 views
0

Я пытаюсь получить данные из DB2. После вызова адаптера SQL я получил следующую ошибку в LogCat:вызов SQL-адаптера в гибридном приложении

Ошибка вызова процедуры. Класс В ролях: org.mozilla.javascript.NativeJavaObject несовместима с org.mozilla.javascript.Function

адаптер XML

<dataSourceDefinition> 
    <driverClass>com.ibm.as400.access.AS400JDBCDriver</driverClass> 
    <url>jdbc:as400://host/HRCORE</url> 
    <user>HRCORE</user> 
    <password>HRCORE</password> 
</dataSourceDefinition> 

После этой ошибки в LogCat я получаю записку от LoadFailure функция

var invocationData = { 
    adapter : "SQLAdapter", 
    procedure : "getTypeFromSubjectTabele", 
    parameters : [] 
}; 

WL.Client.invokeProcedure(invocationData, { 
    onSuccess:this.loadSucess, 
    onFailure:this.loadFailure,  
}); 

реализация Adapter

var getTypeFromSubjectTabele = WL.Server.createSQLStatement("SELECT type FROM subject"); 

function getTypeFromSubjectTabele(){ 
    WL.Logger.warn("INSIDE ADAPTER getTypeFromSubjectTabele"); 
    return WL.Server.invokeSQLStatement({ 
     preparedStatement: getTypeFromSubjectTabele, 
     parameters : [] 
    }); 
} 
+0

Вы не добавили никакого реального кода реализации ... из файла impl.js адаптера. –

+0

@IdanAdar до того, как я не дополнил файл адаптера impl.js, потому что ошибка появляется перед WL.Logger.warn («INSIDE ADAPTER getTypeFromSubjectTabele»); и я не вижу в сервере журнала этого регистратора – Madiyor

+0

как сервер mobilefirst Я использую полный профиль WAS, который находится удаленно – Madiyor

ответ

0

Я думаю Проблема заключается в том, что вы используете один и тот же имя переменной и функции (смотрите раздел «Function Declaration Overrides Variable Declaration When Hoisted»). Дайте каждому уникальное имя и посмотрите, разрешило ли оно эту конкретную проблему.

+0

Большое вам спасибо! Я изменил имя переменной, и это решило проблему – Madiyor

Смежные вопросы