android webservice ksoap 报错 org.xmlpull.v1.XmlPullParserException: expected: START_TAG 的解决办法

在android上调用webservice出现这个错误的时候,让哥蛋疼得黑纹。。。 徘徊于百度与google之间,企图寻找解决方法,但都是无功而返。

终于,观音大仙降临,敲了一下哥得脑袋,哥恍然大悟,解决之。

总结得以下4条解决办法:

1. 在AndroidManifest.xml 中加入 访问网络的权限。

<uses-permission android:name="android.permission.INTERNET"/>

2. namespace和url中ip、port请尽量填写WIFI或者公网,因为如果你用手机去模拟上传,你的手机是连接不到内网的(如IP:192.168.1.1或 localhost)。

3. Webservice服务器的Soap版本为1.0,所以客户端指定

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); VER11改为VER10

4.String url = "http://134.192.44.105:8080/SSH2/service/IService?wsdl";

Url指的是你的webservice的地址.一般都是以***.wsdl或者***.?wsdl结束的...但是.需要注意的是..要去掉后面的.wsdl或者.?wsdl。

本人服务器端是用 xfire-all-1.2.6.jar 写webservice接口,调用webservice的时候 把 ?wsdl 去掉,就能成功访问。

这个问题,相信很多人会遇到,以上1,2,3是百度而来的,4条是自己解决的,总结如上,愿能帮到大家。。。

你可能感兴趣的:(webservice)