从另一个SQL适配器调用SQL适配器不起作用

时间:2014-06-13 15:59:19

标签: ibm-mobilefirst worklight-adapters worklight-server

请。是否有任何想法或建议从SQL适配器调用到另一个SQL适配器不起作用? 我使用WL.Server.invokeProcedure。({adapter:“SQL_Adapter”,过程:“另一个适配器中的过程名称”})。似乎函数不会检查适配器和过程参数的存在,并且即使对于不存在的适配器/过程也可以使用任意字符串。结果始终是从调用返回的未定义对象

我在Windows服务器上使用Worklight 6.1.0.01.20140311-2356 两个适配器工作正常,并定期从客户端设备使用 “服务器”适配器(MS SQL)用于推送通知并定义事件源 “客户端”适配器(DB2)是正常的。

有一段代码:

var result = getAllUsersFromSQLPushNotificationAdapter();

if (result){
    WL.Logger.info("test1" + result.isSuccessful); //i got false
    WL.Logger.info("test2" + result.errorMessages); //i got undefined

    WL.Logger.info("test3 " + result.resultSet); //i got undefined
    //result = result["invocationResult"]["resultSet"];

    for (var i = 0; i < result.resultSet.length; i++) {
        //result[i].Category ";
    }

    WL.Logger.info("Number of users: " + result.resultSet.length);
}   

function getAllUsersFromSQLPushNotificationAdapter(){


    return WL.Server.invokeProcedure({
        adapter : "CZU_SQL",
        procedure : "getAllUsers"});    

}

谢谢

1 个答案:

答案 0 :(得分:0)

尝试类似下面的内容。在getDataSuccess()中获取结果并使用它。

var invocationData = {
        adapter : 'ADAPTER_NAME',
        procedure : 'PROCEDURE_NAME'    
    };

WL.Server.invokeProcedure(invocationData,{
    onSuccess : getDataSuccess,
    onFailure : getDataFailure,
});

出于调试目的,请检查成功和失败功能结果。如果您无法调用另一个适配器程序,请从故障功能发布错误。