加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice和android通信遇到的一些问题

发布时间:2020-12-17 01:14:17 所属栏目:安全 来源:网络整理
导读:这几天我在做android和webservice进行对象通信的时候,实现android端登录功能遇到了几个问题: 1.当我的对象类型有外键的情况下,发布服务时,在一个对象表里有另一个对象的 引用 时(对表来说就是所谓的 外键 关系),比如两个表 tb_me(用户表),tb_shop

这几天我在做android和webservice进行对象通信的时候,实现android端登录功能遇到了几个问题:

1.当我的对象类型有外键的情况下,发布服务时,在一个对象表里有另一个对象的引用时(对表来说就是所谓的外键关系),比如两个表tb_me(用户表),tb_shop(商户表)

tb_shop和tb_me存在多对一的关系。用户hibernate反向生成的时候,在TbMe和TbShop两个对象里都出现了各自的身影,于是问题就来了

a:懒加载问题 ,采用在*.hbm.xml的set里添加了lazy="false"

b.nor any of its super class is know this context. 网上百度了很久也没有解决,最后在一个外国的网站上看到添加@XmlSeeAlso(TbShop.class)可以解决

c.随着@XmlSeeAlso的添加,b 的错误消失了,取而代之的是tbMe->tbShop->tbMe,构成循环了,悲剧啊,后面想一想,的确出现了循环引用,在绕圈了。百度,google一些发现写问题,可是没有找出比较好的解决方案。最后决定把那些关系在 对象类和 *.hbm.xml里全部去掉了,只剩下简单的数据对象。

问题解决,登录成功了!但是感觉很怪啊,希望大牛看到可以给我个解决方案啊

2.今天在调试android端的时候发现,webservice发布的 TbMe login(email,pwd) ;服务,当回传的TbMe对象有某几个参数为空时(NULL)时,SoapObject的property就会没有这个参数了,感觉很怪,可是他就是这样,于是又将数据库的字段都设为不为空,(NULL)用“”代替,然后在android 端获取这个""的时候也是采用

if (object2.getPropertyCount()>0) {
this.mePicPath =object2.toString();
}else {
this.mePicPath="";
}

的形式,因为android并不能获取“”串,只是一个anyType{}的空数组而已

以上就是我只几天遇到的问题和解决方案

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读