之前在做一个项目,需要将用户信息上传到服务器进行用户验证,我采用的是Android+KSoap2+webservice的方式,在代码编写过程中存在想将string型参数,传递给webservice中,可是webservice方法可以执行,但是参数却接受不到,都显示为空值,困扰了我两天的时间,在网上查找资料
解决方法:
1.设置envelope.dotNet = true;。
2.检查命名空间(namespace=''),检查服务器端的namespace和Android客户端调用webService时设置的命名空间(namespace)是否一致。
3.检查Android客户端传递参数时候的参数名是否和webService端设置的参数名一致。
4.检查命名空间(namespace)最后面一定要有斜杠"/" 。
5.检查webService是否设置了RPC方式:[SoapRpcService(Use = SoapBindingUse.Literal)],如果设置了,就把他注释掉。
有如下解决方法,但是对于我的程序依然不好使,卡了两天时间都要崩溃了
最后发现了问题所在
问题出在webservice部分,如图所示,还有就是将Android客户端doNet设为false