求助安卓使用KSOAP2出错

求助安卓使用KSOAP2出错,第1张

你好,看下,不知道有用吗

1. 必须确保应用已经添加了网络通信权限

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

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

3. SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11)

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

上述三点缺一不可,我讲述一下我的折腾过程供大家参考,

我最初由于马虎,没有做条件1 ,结果会报UnkownHostException,误导我把域名改为IP,

把域名改为IP后,虽然不会报UnkownHostException了,但是会报缺少权限,于是我加上条件1的权限,

加完之后,一切都正确,就总是报 org.xmlpull.v1.XmlPullParserException: expected: START_TAG ,

于是尝试修改SOAP信封版本,VER10 VER11 VER12 三种都试了,无效。

回忆起曾把请求URL中的域名改为IP,于是将IP改回域名,问题解决。

仔细看了一下服务端的版本,是VER11,于是尝试用VER12发送请求,

又报org.xmlpull.v1.XmlPullParserException: expected: START_TAG 了。

尝试用VER10,可以收到正确的response。

下面分两种情况介绍一下如何导入第三方类库。

1、对于jar的类库,非常简单,只要在项目根目录下新建一个libs目录,然后把jar复制进去,在jar上点击右键,选择Add

as

library,即可完成依赖的添加。

packagingOptions常见的设置项有exclude、pickFirst、doNotStrip、merge。

1. exclude

过滤掉某些文件或者目录不添加到APK中,作用于APK,不能过滤aar和jar中的内容。

2. pickFirst

匹配到多个相同文件,只提取第一个,作用于APK,不能过滤aar和jar中的文件。

3. doNotStrip

可以设置某些动态库不被优化压缩。

4. merge

将匹配的文件都添加到APK中,和pickFirst有些相反,会合并所有文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11749989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存