具有同步错误的Worklight 5.0.6 JSONStore

时间:2013-05-23 03:22:46

标签: ibm-mobilefirst jsonstore

我尝试在Worklight 5.0.6中使用适配器初始化JSONStore Sync,如下所示:

           var usersSearchFields = {"age":"integer","name.demo":"string"},
                usersAdapterOptions = {
                    name: 'user',
                    replace: 'updateUser',
                    remove: 'deleteUser',
                    add: 'addUser',
                    load: {
                        procedure: 'getUsers',
                        params: [],
                        key: 'users'
                    },
                    accept: function (data) {
                        return (data.status === 200);
                    }
                };
                var collections = {
                        users : {
                        searchFields : usersSearchFields,
                        adapter :   usersAdapterOptions
                        }
                };
                var options = {
                        username: 'carlos', 
                        password: '123' 
                        };
                var usersCollection=WL.JSONStore.init(collections, options)
                        .then(function (res) {
                            logMessage('Collection has been initialized');      
                        })  
                        .fail(function (errobject) {
                        WL.Logger.debug(errobject.toString());
                        });

它在第一次成功运行但在我退出应用程序然后返回后,它会收到错误: 的 * “PROVISION_TABLE_SEARCH_FIELDS_MISMATCH” *

有人可以帮我吗?非常感谢你。

1 个答案:

答案 0 :(得分:2)

看起来像以下已知问题:

PM85364: JSONSTORE ERROR AFTER FIRST LAUNCH ON ANDROID WITH '.' IN SEARCH FIELDS.。要修复它,请升级到5.0.6.1修订包(Source)。

典型地:

-2 PROVISION_TABLE_SEARCH_FIELDS_MISMATCH

如果不使用新的搜索字段调用destroyremoveCollectioninitinitCollection,则无法更改搜索字段。如果更改搜索字段的名称或类型,则会发生此错误。例如:{key: 'string'}{key: 'number'}{myKey: 'string'}{theKey: 'string'}

文档为here。我还建议在JSONStore调试时使用this StackOverflow answer

这解决了您所面临的问题:

  

重置模拟器或模拟器和/或调用WL.JSONStore.destroy()。

相关问题