- 浏览: 396466 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
surpassno:
南冠楚囚 写道如果是复制一个一位数组,那么改变复制后的数组并不 ...
java的system.arraycopy()方法 -
南冠楚囚:
如果是复制一个一位数组,那么改变复制后的数组并不影响原数组。你 ...
java的system.arraycopy()方法 -
wxq5513866:
有密码,大家不要下载了,下载也解压不了,别上当了
android中调用webservice -
wxq5513866:
<div class="quote_title ...
android中调用webservice -
happyhan:
还要密码啊 能否告知密码
android中调用webservice
上篇文章发布的webservice访问地址为http://localhost:8090/xfireDemo/services/hellowebservice?wsdl
这里我使用ksoap开源jar包去调用它,测试成功,主要代码为
详解接附件。
其他的一些访问方式。1.使用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
方法:
预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成。
String soapRequestData = "<?xml version=/"1.0/" encoding=/"utf-8/"?>" +
"<soap12:Envelope xmlns:xsi=/"http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd=/"http://www.w3.org/2001/XMLSchema/" xmlns:soap12=/"http://www.w3.org/2003/05/soap-envelope/">" +
"<soap12:Body>" +
" <getCountryCityByIp xmlns=/"http://WebXml.com.cn//">" +
" <theIpAddress>219.137.167.157</theIpAddress>" +
" </getCountryCityByIp>" +
" </soap12:Body>" +
"</soap12:Envelope>";
然后定义一个PostMethod,这时需要指定web服务的Url;
PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);
然后把Soap请求数据添加到PostMethod中
byte[] b = soapRequestData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length);
RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8");
postMethod.setRequestEntity(re);
最后生成一个HttpClient对象,并发出postMethod请求
HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod);
String soapRequestData = postMethod.getResponseBodyAsString();
soapRequestData就是调用web服务的Soap响应数据,是xml格式的,可以通过解析soapRequestData来获得调用web服务的返回值。
这种方式最好在java程序中使用,android中还是推荐ksoap2方式。
下班的xfire客户端更是仅在java project中使用。
2.使用Xfire
用到的jar文件xfire-all-1.2.4.jar, jdom-1.0.jar
方法:
定义一个Client对象,指定web服务的wsdl的地址
Client c = new Client(new URL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));
调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。
下面代码调用getVersionTime方法,这个方法没有参数用所以后一个参数使用new Object[0]。
Object[] results = c.invoke(“getVersionTime”, new Object[0]);
这里我使用ksoap开源jar包去调用它,测试成功,主要代码为
String namespace = "http://kevin.com"; // 服务器发布的url String url = "http://10.0.2.2:8090/xfireDemo/services/hellowebservice"; // 使用c#写的webservice // String endPoint = // "http://webservice.webxml.com.cn/WebService/MobileCodeWS.asmx"; String methodName = "sayHello"; // 函数名 String soupaction = namespace + "/" + methodName; // 指定WebService的命名空间和函数名 SoapObject soapObject = new SoapObject(namespace, methodName); // 设置调用方法参数的值,经测试,此处还变量名好像没关系,貌似和顺序是相关的 soapObject.addProperty("message", "testkevinqiang"); HttpTransportSE transport = new HttpTransportSE(url); // 版本号向下兼容,SOAP协议版本号,与你要调用的webService中版本号一致 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11); envelope.bodyOut = soapObject; // 经测试,即使访问的是我java发布的webservice,设置为true也可以 envelope.dotNet = true; // 经测试,setoutputsoapobject作用和bodyout一样 envelope.setOutputSoapObject(soapObject); // 使用call方法调用WebService方法 try { transport.call(soupaction, envelope); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); SoapObject sb = (SoapObject) envelope.bodyIn; xmlMessage = sb.getProperty(0).toString(); // 获取从服务器端返回的XML字符串 Message message = hd.obtainMessage(); hd.sendMessage(message); } }
详解接附件。
其他的一些访问方式。1.使用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
方法:
预先定义好Soap请求数据,可以借助于XMLSpy Professional软件来做这一步生成。
String soapRequestData = "<?xml version=/"1.0/" encoding=/"utf-8/"?>" +
"<soap12:Envelope xmlns:xsi=/"http://www.w3.org/2001/XMLSchema-instance/" xmlns:xsd=/"http://www.w3.org/2001/XMLSchema/" xmlns:soap12=/"http://www.w3.org/2003/05/soap-envelope/">" +
"<soap12:Body>" +
" <getCountryCityByIp xmlns=/"http://WebXml.com.cn//">" +
" <theIpAddress>219.137.167.157</theIpAddress>" +
" </getCountryCityByIp>" +
" </soap12:Body>" +
"</soap12:Envelope>";
然后定义一个PostMethod,这时需要指定web服务的Url;
PostMethod postMethod = new PostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);
然后把Soap请求数据添加到PostMethod中
byte[] b = soapRequestData.getBytes("utf-8");
InputStream is = new ByteArrayInputStream(b,0,b.length);
RequestEntity re = new InputStreamRequestEntity(is,b.length,"application/soap+xml; charset=utf-8");
postMethod.setRequestEntity(re);
最后生成一个HttpClient对象,并发出postMethod请求
HttpClient httpClient = new HttpClient();
statusCode = httpClient.executeMethod(postMethod);
String soapRequestData = postMethod.getResponseBodyAsString();
soapRequestData就是调用web服务的Soap响应数据,是xml格式的,可以通过解析soapRequestData来获得调用web服务的返回值。
这种方式最好在java程序中使用,android中还是推荐ksoap2方式。
下班的xfire客户端更是仅在java project中使用。
2.使用Xfire
用到的jar文件xfire-all-1.2.4.jar, jdom-1.0.jar
方法:
定义一个Client对象,指定web服务的wsdl的地址
Client c = new Client(new URL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));
调用Client对象的invoke方法,指定web服务的方法名,和参数,返回值是一个Object型的数组。
下面代码调用getVersionTime方法,这个方法没有参数用所以后一个参数使用new Object[0]。
Object[] results = c.invoke(“getVersionTime”, new Object[0]);
- testWebservice.rar (184.1 KB)
- 下载次数: 272
评论
10 楼
wxq5513866
2015-05-19
有密码,大家不要下载了,下载也解压不了,别上当了
9 楼
wxq5513866
2015-05-19
happyhan 写道
还要密码啊 能否告知密码
8 楼
happyhan
2014-10-29
还要密码啊 能否告知密码
7 楼
onsinsin
2014-08-01
rgypf1988 写道
为什么会有密码。这是什么情况!
6 楼
ddddd345
2014-05-23
这个是个好东西,不错 !
5 楼
样儿吧
2013-08-04
好资料 谢分享
4 楼
rgypf1988
2013-04-07
为什么会有密码。这是什么情况!
3 楼
suxiaolincalendar
2012-12-21
要密码,真复杂。
2 楼
jeaken
2012-12-06
lz有密码啊
1 楼
lintg
2012-06-13
怎么要密码呀
发表评论
-
android wifi开发
2011-11-29 09:52 2277最近做了个小项目,用到了wifi连接,通过wifi去控制一个w ... -
android读写文件
2011-11-22 09:24 1409android中读写文件分两部分。 1.手机flash读写 ... -
android adt myeclipse8.5离线安装
2011-11-14 15:51 5392Myeclipse 8.6 离线安装ADT 最近想在Myec ... -
android网络与通信
2011-03-31 10:52 1605三种网络接口简述 标准Java接口 java.net.*提 ... -
android多媒体
2011-03-31 09:47 1607OpenCore的另外一个 ... -
数据存储 shared preference
2011-03-30 20:32 1678Android中一共提供了四种数据存储方式: Shared P ... -
双缓冲技术
2011-03-30 19:30 1761java双缓冲技术是 ... -
Android的view重绘
2011-03-30 15:18 4724android中实现view的更新有两组方法,一组是inval ... -
Android中采用的MVC框架
2011-03-30 15:02 1901MVC是当前比较流行的框 ... -
Android单线程模型
2011-03-29 21:32 2997当第一次启动一个Android程序时,Android会自动创建 ... -
TabWidget
2011-03-26 10:03 1427Android TabWidget/TabHost有两种使用方 ... -
状态栏提示Notification
2011-03-26 09:33 1483当有未接电话或者短信时,在手机顶部状态栏就会出现一个小图标,提 ... -
Gallery 拖动效果
2011-03-26 09:01 1220public class Activity01 exten ... -
Android Contentresolver的使用
2011-03-24 16:44 2105Android提供了ContentProvider,一个程序可 ... -
Android ContentProvider
2011-03-24 11:21 2295内容提供者(content provi ... -
Android SQLite
2011-03-24 10:36 2098SQLite 是一款非常流行的 ... -
android map的使用方法
2011-03-23 16:06 60601 Android Add-ons是Android中的可 ... -
android sdk的快速安装法
2011-03-23 14:53 20471.下载相关文件 下面的7个文件(当然,可以只下载其中一个) ... -
android的位置服务和地图
2011-03-22 19:21 1504实现位置服务的技术有GPS和google网络地图,将这些不同的 ... -
android 使用DOM解析xml
2011-03-22 16:52 1445美国地震信息网http://earthquake.usgs.g ...
相关推荐
### Android中调用WebService总结 #### 一、WebService的基础概念 在正式开始之前,我们首先来了解一下WebService的基本概念。WebService是一种跨平台、跨语言的服务,它通过标准的XML格式来进行数据交换,支持...
这个任务通常通过调用外部的Web服务接口来完成,本案例将详细讲解如何在Android应用中集成和调用Webservice来查询号码归属地。 首先,我们需要了解什么是Webservice。Webservice是一种基于网络的、分布式的模块化...
android中调用webservice:ksoap2.jar
总结,Android调用WebService并使用JSON传递实体对象涉及到多个步骤,包括选择合适的库(如ksoap2和Newtonsoft.Json),理解数据序列化和反序列化的过程,以及正确设置HTTP通信。通过这种方式,你可以高效地在客户端...
**二、Android调用Web Service的步骤** 1. **构建服务端:** - 使用Java(J2EE)编写Web Service接口和实现,比如使用Java的JAX-WS(Java API for XML Web Services)。 - 配置并部署服务到Web服务器,如Tomcat,...
Delphi XE5 Android 平台调用 Webservice 并访问操作 MSSQL 数据库 Delphi XE5 是一款功能强大且灵活的开发环境,为开发者提供了跨平台的开发体验。在 Android 平台上,Delphi XE5 提供了强大的支持,允许开发者...
本教程将详细介绍如何在Android环境中调用Webservice,并提供源码和jar包以供参考。主要涉及的技术点包括SOAP协议、HTTP通信以及接口调用。 1. **SOAP(Simple Object Access Protocol)协议** SOAP是一种轻量级的...
总结,Android调用WebService涉及了多种技术,包括选择合适的协议(如SOAP或RESTful),引入相应的库,构建和发送请求,以及处理返回的结果。理解这些知识点,并结合实际的AndroidWSDemo项目,将有助于你在实际开发...
总结,Java Android调用Webservice涉及到网络请求、数据传输、解析和安全等多个环节,开发者需要了解HTTP协议,选择合适的Web服务类型,以及掌握相应的数据解析技术。通过合理利用第三方库和遵循最佳实践,可以提高...
本主题将深入探讨如何在Android应用中调用Web服务,特别是基于SOAP协议的Web服务,即“Android与服务器端数据交互(基于SOAP协议整合android+webservice)”。 SOAP(Simple Object Access Protocol)是一种轻量级...
Android调用WebService的基本步骤: 1. 创建HTTP请求:使用HttpURLConnection或HttpClient库发起网络请求,向WebService服务器发送登录信息。 2. 构建请求体:如果是SOAP请求,需要构建符合SOAP规范的XML请求体;...
总之,Android调用Webservice源码的示例是一个很好的学习资源,它展示了Android客户端如何利用ksoap2库与C#编写的Web服务进行交互。通过理解这个示例,开发者可以更好地掌握Android与Web服务的集成技术,为自己的...
某些情况下我们可能需要与Mysql或者Oracle数据库进行数据交互,有些朋友的第一反应就是直接在Android中加载驱动...既然是调用WebService,我们首先的搭建WebService服务器。 下面演示的就是如何通过该网站提供的手机
### Android调用.NET WebService详解 #### 一、概述 在Android开发中,与服务器进行交互是必不可少的一个环节。常见的交互方式包括HTTP请求、RESTful API等,而WebService作为一种传统但依然广泛使用的通信协议,...
本教程将详细介绍如何在Android应用中调用WebService来获取手机归属地。 1. **理解WebService** WebService是一种基于互联网的、平台无关的服务,它允许不同系统间的应用程序之间进行通信。常见的WebService技术有...
在Android开发中,为了实现应用程序与服务器之间的数据交互,经常使用WebService技术进行用户验证,例如登录功能。这里的示例将详细介绍如何在Android应用中通过WebService接口验证用户登录信息。主要涉及的技术点...
在Android客户端调用Web Service上传图片到服务器的过程中,主要涉及以下几个关键知识点: 1. **文件I/O操作**:客户端首先需要从SD卡或其他存储位置读取图片文件。这里使用`FileInputStream`读取图片文件,然后...