首页 / 浏览问题 / 移动GIS / 问题详情
android客户端访问iserver服务返回值有时为空
sm
23EXP 2020年07月30日

我的android客户端访问iserver服务返回值有时为空.一个查询按钮,同一个查询条件,多次点击查询时而获得结果,时而返回空值.当输出框出现以下这句话时,就获取不到结果.

W/com.supermap.android.data.getfeaturesbysqlservice: key(GetFeaturesBySQLService) not found in resources.

请问是什么原因?

下图是我的android客户端查询代码

下图是控制台输出的:

1个回答

您好,在查询的时候确保服务是正常的,您那边可以看一下查询失败的时候iserver那边是否有报错信息,移动端服务查询也是对iserver发请求的。
9,127EXP 2020年07月30日
我发现返回值为空的时候,iserver服务端会出现下面这句警告,应该怎样解决?

Input length must be multiple of 8 when decrypting with padded cipher
这个警告是字符集的原因,建议不要使用特殊字符。还有你在查询的时候建议等查询结果出来后再第二次查询,防止并发查询出现错误。
我又测试了一下,不返回查询结果和字符集,点击查询按钮时长没关系.问题是同一个查询按钮,多次查询,两次查询有一定间隔,有时候返回结果,有时候获取结果为空,麻烦你看下最开始我给你发的那两张图,代码和控制台输出,帮忙分析下错误出在哪里.
sql查询iserver上数据的方法用GetFeaturesBySQLParameters和GetFeaturesBySQLService 吗?

如果数据很大是不是会报错?
iMobile Lite中sql查询在线服务使用接口就是GetFeaturesBySQLService。数据量大也不会报错的。您那边是要使用iMobile Lite来进行数据的查询吗
我是用的GetFeaturesBySQLService

有时候很好用,有时候控制台输出W/com.supermap.android.data.getfeaturesbysqlservice: key(GetFeaturesBySQLService) not found in resources.这句话,就没有返回结果.根本不知道为什么,iserver服务正常,没报错.

目前iMobile Lite已经开源,您那边开源根据源码调试问题,源码地址:https://github.com/SuperMap/iMobile-Lite-for-Android

...