简直不能忍!org.xmlpull.v1.XmlPullParserException: expected: START_TAG 处理心得

在尝试运行Android天气预报应用时遇到org.xmlpull.v1.XmlPullParserException: expected: START_TAG异常。通过搜索和排查,发现该问题与网络连接有关。在WiFi下运行正常,但使用GPRS时异常出现。解决方案是将GPRS接入点设置为CMWAP,而非CMNET,此设置更改后异常消除,应用成功运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相信很多朋友在接触android调用webservice的时候都会下载过一款天气预报的源码:

Android天气预报

点击打开链接

该源码在模拟器中完美运行!满心欢喜的想在android手机上运行看看。一看马上傻眼了!系统抛出了异常:

org.xmlpull.v1.XmlPullParserException: expected: START_TAG

推度娘摸姑狗一番之后,发现中外友人苦手其中叫苦不迭!!

一下是选取有代表性的粘贴给各位看,估计搜到这篇文章的同学都已经尝试过的:

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

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

2. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 

中的SOAP VER要和服务端对应,也可以低于服务端,但是不能高于服务端;

3. soap请求的URL中的HOST部分不要使用ip地址,使用域名;

4.注意你的webservice的地址(Url)是否以***.wsdl或者***.?wsdl结束的。如果是,要去掉后面的.wsdl或者.?wsdl。


基本上以XmlPullParserException为关键字,或者以整条异常为关键字搜索的结果都是上面这四点。


小弟不才,苦思冥想N久,无意中发现了在手机上如果用WIFI连接的话,异常消除!!

但切换为GPRS后,异常照样。因此估计问题所在于此!

于是,改变关键字 webservice gprs访问受限 终于找到了解决的方法:

其实很简单!和你的程序一点关系都没有!这就是:


将GPRS的接入点选择为CMWAP!而不是CMNET!!


我颤抖着尝试了一下,异常成功解决!!


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值