通过ksoap2-android来调用Web Service操作的实例
import java.io.IOException;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.EditText;
public class CallWs extends Activity {
final static String SERVICE_NS = "http://lee/";
final static String SERVICE_URL = "http://172.18.5.198/crazyit";
private EditText text1;
private EditText text2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_call_ws);
text1 = (EditText) findViewById(R.id.text1);
text2 = (EditText) findViewById(R.id.text2);
//调用的方法
String methodName = "getUserList";
//创建HttpTransportSE传输对象
HttpTransportSE ht = new HttpTransportSE(SERVICE_URL);
ht.debug = true;
//使用SOAP1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
//实例化SoapObject对象
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("arg0","客户端参数:");
//将SoapObject对象设置为SoapSerializationEnvelope对象的传出SOAP消息
envelope.bodyOut = soapObject;
try {
//调用Web Service
ht.call(null, envelope);
if(envelope.getResponse() != null){
//获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
//接下来是从SoapObject对象中解析响应数据的过程
SoapObject detail1 = (SoapObject) result.getProperty(0);
SoapObject detail2 = (SoapObject) result.getProperty(1);
StringBuilder person1 = new StringBuilder();
person1.append("用户名:");
person1.append(detail1.getProperty(3));
person1.append("\n密码");
person1.append(detail1.getProperty(0));
person1.append("\n身高");
person1.append(detail1.getProperty(1));
text1.setText(person1.toString());
StringBuilder person2 = new StringBuilder();
person2.append("用户名:");
person2.append(detail2.getProperty(3));
person2.append("\n密码");
person2.append(detail2.getProperty(0));
person2.append("\n身高");
person2.append(detail2.getProperty(1));
text2.setText(person2.toString());
}
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
}
}
上面程序中的粗体字代码就代表了使用ksoap2-android来调用Web Service操作的关键的7个步骤。
不管远程Web Service提供的服务功能多么强大、业务实现多么复杂,对于Android客户端是完全透明的,Android只要送出相应的请求参数,服务器就会返回包含结果的SOAP消息。借助于Web Service这个桥梁,在Android应用中实现功能非常强大的应用-----反正具体的业务逻辑由Web Service服务器实现,Android客户端只要调用Web Service服务即可。
通过ksoap2-android来调用Web Service操作的实例的更多相关文章
- 使用Android应用调用Web Service
Java本身提供了丰富的Web Service支持,比如Sun公司指定的JAX-WS 2规范,还有Apache开源组织所提供的Axis1.Axis2.CXF等,这些技术不仅可以用于非常方便地对外提 ...
- ORACLE存储过程调用Web Service
1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...
- C#开发和调用Web Service
http://blog.csdn.net/h0322/article/details/4776819 1.1.Web Service基本概念 Web Service也叫XML Web Service ...
- ASP.NET调用Web Service
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- C# 调用 Web Service
Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP ...
- 使用wsimport和JAX-WS调用Web Service接口
本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...
- VB.NET,C#.NET调用Web Service,利用visual studio 的实现方法
下面是一篇文章比较详细,其实具体操作很简单,把Web Service服务地址,利用工具(VS2010),通过添加引用的形式,添加到项目中来就可以应用了. 大家如果这个地方不会操场的话,可以问问我QQ: ...
- php5调用web service
工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经 ...
- Dynamic CRM 2013学习笔记(二十五)JS调用web service 实现多条记录复制(克隆)功能
前面介绍过如何克隆一条当前的记录: Dynamic CRM 2013学习笔记(十四)复制/克隆记录 , 主要是通过界面上加一个字段,单击form上的clone 按钮时,改变这个字段的值以触发插件来实现 ...
随机推荐
- z/OS上Dataset 的移动
最近的一个需求,需要把大批量的Dataset移到新的Storage Class,新的Volume中去,刚开始感觉非常头疼.仔细研究后发现这个事情其实很简单.确实符合别人所说,事情的在你真正开始努力之后 ...
- datable-默认参数列表
1 options { 'paging': false, 'scrollY': true, 'scrollX': true, 'scrollCollapse': false, 'ordering': ...
- 161209、简要分析ZooKeeper基本原理及安装部署
一.ZooKeeper 基本概念 1.ZooKeeper 是什么? Zookeeper官网地址: http://zookeeper.apache.org/ Zookeeper官网文档地址:http:/ ...
- UICollectionViewDelegateFlowLayout 使用
import UIKit //UICollectionViewLayout //itemSize属性 //设定全局的Cell尺寸,如果想要单独定义某个Cell的尺寸,可以使用下面方法: // - (C ...
- 【Jersey】IntelliJ IDEA + Maven + Jetty + Jersey搭建RESTful服务
本文参考以下内容: 使用Jersey实现RESTful风格的webservice(一) Starting out with Jersey & Apache Tomcat using Intel ...
- Java 多线程处理[全]
http://blog.csdn.net/ghsau/article/details/7421217 Java线程(一):线程安全与不安全 http://blog.csdn.net/ghsau/art ...
- JS中iframe相关的window.self,window.parent,window.top
window.self指的是当前窗口:他等价于window,self,window.self window.top指的是最顶层的窗口(有些页面可能会嵌套好几个iframe)如果只有一个窗口,那么就返回 ...
- redis安装与基本配置
获取下载包 wget http://download.redis.io/releases/redis-2.8.24.tar.gz 解压和编译 tar -zxvf redis-2.8.24.tar.gz ...
- Linux设置ssh无密码登陆
最近在折腾Hadoop,要用到主机间无密码登陆,设置的时候遇到了一些问题,这里记录一下. 假设A需要无密码登陆B. 那么首先需要在A上使用ssh-keygen生成id_rsa.pub的公钥,生成时,一 ...
- EasyUI中动态生成标签页
这是最近学到的内容,当时是有思路但是不知道怎么获取当前的点击对象,就没有实现功能,通过更深入的学习,我知道了不仅仅是Java,Oracle中有一个this,同样的EasyUI中也存在一个this,来获 ...