android 环境下 ksoap2 连接webservice.

浏览次数:853次 悬赏分:120 | 解决时间:2011-6-24 15:00 | 提问者:宝宝和妖怪 | 检举

问题补充:

android 环境下 ksoap2 连接webservice.    String serviceURL = "http://10.110.111.208:3000/iam/service/AndroidLoginService";    String methodName = "login";    SoapObject request = new SoapObject("http://10.110.111.208:3000/iam/service/AndroidLoginService",methodName);    request.addProperty("userName",etAccount.getText().toString());    request.addProperty("password",etPassword.getText().toString());    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);    envelope.bodyOut = request;    HttpTransportSE ht = new HttpTransportSE(serviceURL);    try{    ht.call(null, envelope);    if(envelope.getResponse()!=null){    mTextView.setText(envelope.getResponse().toString());    }    } catch(Exception e){     e.printStackTrace();    }ht.call 异常 异常信息org.xmlpull.v1.XmlPullParserException: expected: END_TAG android  菜鸟 寻求帮助。
最佳答案
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. Android作为CXF客户端调用服务端。
  2. Android客户端与服务端交互-客户端GET方式登录和客户端POST方式
  3. Android服务端开发1-使用Eclipse搭建Java Web服务端
  4. Android实时获得经纬度,发送给c++服务端
  5. android客户端从服务器端下载文件,服务端返回文件流(文件不在项目
  6. Android中上传图片到服务端C#接收图
  7. 【Android增量升级系列_02】 浅谈Android增量更新服务端的实现方
  8. Android 服务端开发之开发环境配置
  9. android binder c++层 - 回调客户端服务 - 客户端(c++层) 调用

随机推荐

  1. 如何对继承对象进行单元测试?
  2. 显示长期运行的PHP脚本的进展。
  3. 如何将PHP数组的关联数组转移到javascrip
  4. 具有线程/回复的私人消息系统
  5. PHP:在类中使用数据库
  6. laravel 框架自带表单验证
  7. php static静态变量及方法详解
  8. 为什么要使用PHP框架?
  9. 通过添加3hrs从服务器中重新获取CURTIME()
  10. laravel 4路由::控制器()方法返回NotFoun