我从下面的适配器调用SQLAdapter:
function callFetchBalance(msisdn, circle,imei) {
try {
var response = WL.Server.invokeProcedure({
adapter : "sqladapter",
procedure : "checkIMEIAndMSISDN",
parameters : [ msisdn,imei ]
});
if(response.isSuccessful){
if(typeof response.resultSet[0]!== 'undefined' && null!=response.resultSet[0]) {
var count = response.resultSet[0].COUNT;
if(count!='1.0'){
return {
exception_code : "403"
}
}else{
var callMethod = new com.actions.Util();
var balanceReturned = callMethod.getBalance(msisdn, circle);
return {
balance : balanceReturned
};
}
}else{
return {
balance : "null"
};
}
}else{
return {
balance : "null"
};
}
} catch (e) {
return {
balance : "null"
};
}
}
我的适配器是这样的:
var checkIMEIAndMSISDN = WL.Server.createSQLStatement("select count(*) as count from AUTH_TABLE where MSISDN=? and IMEI=?");
function checkIMEIAndMSISDN(msisdn,imei) {
var response = WL.Server.invokeSQLStatement({
preparedStatement : checkIMEIAndMSISDN,
parameters : [msisdn,imei]
});
return response;
}
但是在运行时,我收到了以下错误:
[8/21/17 17:42:29:036 IST] 000000be DataAccessSer E logError FWLSE0099E: An error occurred while invoking procedure [project UtilApp]sqladapter/checkIMEIAndMSISDNFWLSE0100E: parameters: [project UtilApp]
org.mozilla.javascript.NativeJavaObject incompatible with org.mozilla.javascript.Function
FWLSE0101E: Caused by: [project UtilApp]nulljava.lang.ClassCastException: org.mozilla.javascript.NativeJavaObject incompatible with org.mozilla.javascript.Function
at com.worklight.integration.js.JavaScriptManager.getFunction(JavaScriptManager.java:260)
同样来自日志,它显示由下线引起:
var response = WL.Server.invokeProcedure({
有人请告诉我这行中有什么问题,或者由于其他一些代码我收到此错误。