C#调用webservice函数
请教一个问题:我在调用webservice里面的函数方法时,报错:无法从“LoginClass”转换为“WebReference.LoginClass”。这该怎么解决?...
请教一个问题:我在调用webservice里面的函数方法时,报错:无法从“LoginClass”转换为“WebReference.LoginClass”。这该怎么解决?
展开
展开全部
看看你的WebService传递过来的是什么。是否需要强制转换,如果还不能,最好把你的WebService里的LoginClass序列化后再传递,返回值是String类型,最后在你的程序中反序列化解析到你的returnMsg类..当前,你的WebService中的LoginClass需要和你的本地类相同.
更多追问追答
追问
在什么时候需要用到实例化,这该怎么判断?怎么判别在调用服务端方法时候是否需要对参数(从客户端)进行序列化?序列化后的参数类型是String类型吗?
追答
你这么想.你的类\结构\实体 在使用的时候肯定要实例化例如
User u = new User(); u.username="1"; u.userage=25; 这时候User这个对象就被实例化了.WebService为了传递复杂结构的类型一般需要序列化对象.对类\结构\实体序列化的标志为[Serializable()]. 序列化也分不同的方式.返回的参数类型是String
展开全部
你的LoinClass和WebReference.LoginClass不一致,将参数类型改为WebReference.LoginClass
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两边类型不一样
追问
类的构成是一样的,就是把客户端的对象(User)传递到服务端报错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
要么使用WebReference.LoginClass User,要么自定义转换方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-10
展开全部
是不是你的命名空间和系统的冲突了!
追问
命名空间和系统的必须不一样么?系统的怎么看啊?
追答
web,就是系统的一个命令空间,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询