1.需要一个ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar的架包。

2.需要知道webservice的命名空间

// WSDL文档中的命名空间
String targetNameSpace = "http://tempuri.org/";

3.需要WSDL文档中的URL

// WSDL文档中的URL
String WSDL = "http://60.190.224.118:5031/XRHotel_ws?wsdl";

4.完整代码

new Thread(new Runnable() {  

        @Override
public void run() {
// WSDL文档中的命名空间
String targetNameSpace = "http://tempuri.org/";
// WSDL文档中的URL
String WSDL = "http://60.190.224.110:5031/XRHotel_ws?wsdl";
// 需要调用的方法名
String getSupportProvince = "GuestInfo"; // 根据命名空间和方法得到SoapObject对象
SoapObject soapObject = new SoapObject(targetNameSpace,
getSupportProvince);
soapObject.addProperty("Name","张三");
soapObject.addProperty("Pwd",null);
soapObject.addProperty("Roomno","");
// 通过SOAP1.1协议得到envelop对象
SoapSerializationEnvelope envelop = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// 将soapObject对象设置为envelop对象,传出消息
envelop.bodyOut = soapObject;
// 设置是否调用的是dotNet开发的WebService //指定webservice的类型的(java,PHP,dotNet)
envelop.dotNet = true;
// 等价于envelop.bodyOut = soapObject;
envelop.setOutputSoapObject(soapObject);
HttpTransportSE httpSE = new HttpTransportSE(WSDL);
// 开始调用远程方法
try {
httpSE.call(targetNameSpace + getSupportProvince, envelop);
// 得到远程方法返回的SOAP对象
SoapObject resultObj = (SoapObject) envelop.bodyIn;
// 得到服务器传回的数据
int count = resultObj.getPropertyCount();
Log.i("----------------TAG", "count="+count+";"+resultObj.getProperty().toString());
for (int i = ; i < count; i++) {
Map<String,String> listItem = new HashMap<String, String>();
listItem.put("province", resultObj.getProperty(i).toString());
Log.i("----------------TAG", resultObj.getProperty(i).toString());
listItems.add(listItem);
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
}).start();
}
Soap 产生的连接没必要自己去关闭, httpSE.call方法内,在通过流获取数据之后,已经把流关闭了。

Android调用webservice的例子的更多相关文章

  1. Android调用WebService(转)

    Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...

  2. 纠正网上乱传的android调用Webservice方法。

    1.写作背景: 笔者想实现android调用webservice,可是网上全是不管对与错乱转载的文章,结果不但不能解决问题,只会让人心烦,所以笔者决定将自己整理好的能用的android调用webser ...

  3. 第十五章:Android 调用WebService(.net平台)

    什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...

  4. Android 调用webService(.net平台)

    什么是webservice? Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和 ...

  5. Android 调用 WebService

    1.WebService简介 PS:如果看完上面简介还不是很清楚的话,那么就算了,之前公司就用C#搭的一个WebService! 本节我们并不讨论如何去搭建一个WebService,我们仅仅知道如何去 ...

  6. Android调用WebService

    这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...

  7. 【Android进阶】Android调用WebService的实现

    最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...

  8. 网摘Android调用WebService

    这边特别注意调用的.net WCF 接口的绑定方式.以前一直用的wxHttpbinding,一直连不上.改成BasicHTTPbinding就能连上了 上篇文章已经对Web Service及其相关知识 ...

  9. android调用webservice接口获取信息

    我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...

随机推荐

  1. REGEX例子

    作为REGEX的例子,代码9.3显示了一个给定的文件有多少行,具有给定的模式,通过命令行输入(注:有更有效率的方式来实现这个功能,如Unix下的grep命令,在这里只是给出了另一种方式).这个程序像下 ...

  2. K-近邻算法(KNN)

    简介 k近邻算法是数据分类一种常用的算法,属于监督学习算法的一类,它采用不同特征值之的距离进行分类.K近邻算法具有精度高.对异常值不敏感.无数据输入假定的优点,缺点是计算复杂度高.空间复杂度高.适用于 ...

  3. es6之变量的解构赋值

    es5中通常我们声明变量都是以下的方式: var a = 10; var b = 20; var c = 30; //或者 var a = 10,b = 20,c = 30; //或者 var arr ...

  4. HTML5之应用缓存---manifest---缓存使用----Web前端manifest缓存

    相信来查这一类问题的都是遇到问题或者是初学者吧! 没关系相信你认真看过之后就会知道明白的 这是HTML5新加的特性 HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连 ...

  5. TSQL 分组集(Grouping Sets)

    分组集(Grouping Sets)是多个分组的并集,用于在一个查询中,按照不同的分组列对集合进行聚合运算,等价于对单个分组使用“union all”,计算多个结果集的并集.使用分组集的聚合查询,返回 ...

  6. CodeSmith模板代码生成实战详解

    前言 公司项目是基于soa面向服务的架构思想开发的,项目分解众多子项目是必然的.然而子项目的架子结构种类也过多的话,就会对后期的开发维护产生一锅粥的感觉.为了尽可能的在结构层避免出现这种混乱的现象,我 ...

  7. Livecoding.tv2.5发布,增加“用户搜索引擎”功能,方便用户找到匹配的程序员

    近日,在Livecoding.tv最新发布的博客中,介绍了该平台2.5版的一系列新功能,其中的User Discovery Engine(用户搜索引擎)受到大家的欢迎.使用该引擎,可以很方便地查找在L ...

  8. $.extend({},defaults, options) --(初体验三)

    1.$.extend({},defaults, options) 这样做的目的是为了保护包默认参数.也就是defaults里面的参数. 做法是将一个新的空对象({})做为$.extend的第一个参数, ...

  9. Node.js:fs文件系统模块

    fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...

  10. byte[] 转成图片方法

    /// <summary> /// ImageData 的摘要说明 /// </summary> public class ImageData : IHttpHandler { ...