通过KSoap三方插件解析WebService接口方法
话不多说,正文如下:
1.在lib中放入ksoap2的jar包并导入
2.在xml 配置文件中加入:
<!-- 访问网络的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
3.接下来就要通过代码调用借口了
//返回结果字符串是一个xml格式的,即对应的soap响应结果
private void getData() throws JSONException {
// 命名空间
String serviceNameSpace = “字符型”;
// 请求URL
String serviceURL = “字符型URL地址”;
// 调用的方法
String methodName = “调用的NameMethod";
String soapAction = serviceNameSpace + methodName;//命名空间+调用方法
// 实例化序列化的Envelop
SoapObject request = new SoapObject(serviceNameSpace(命名空间), methodName(调用方法名));
// 获得序列化的Envelop
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);//VER12 序列号和后台开发人员确定是多少
envelope.bodyOut = request;//有参数就加上参数 没有参数就不加了
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = true; //true是.net false是java
envelope.setOutputSoapObject(request);
// Android传输对象
HttpTransportSE transport = new HttpTransportSE(serviceURL);
transport.debug = true;
try {
transport.call(soapAction, envelope);
// 获取返回的数据
Object object = envelope.getResponse();
result = String.valueOf(object);
} catch (IOException e) {
e.toString();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
} 下面是我自己分装的基于Ksoap工具类
/**
* @param url WebService服务器地址
* @param methodName WebService的调用方法名
* @param properties WebService的参数
*/
public String callwebService1POST(String url, final String methodName, HashMap<String, String> properties) {
// 实例化序列化的Envelop
SoapObject request = new SoapObject(Constant.NameSpace, methodName);
// 假设map是HashMap对象
// map中的key是String类型,value是Integer类型
String key , value;
if (properties != null) {
Iterator iter = properties.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
// 获取key
key = (String) entry.getKey();
// 获取value
value = (String) entry.getValue();
request.addProperty(key, value);
}
}
Log.e("测试-我就是看看数据:", request.toString());
// 获得序列化的Envelop
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER12);
envelope.bodyOut = request;
// 设置是否调用的是dotNet开发的WebService
envelope.dotNet = true; //true是.net false是java
envelope.setOutputSoapObject(request);
// Android传输对象
HttpTransportSE transport = new HttpTransportSE(url);
transport.debug = true;
try {
transport.call(Constant.NameSpace + methodName, envelope);
// 获取返回的数据
Object object = envelope.getResponse();
String result = String.valueOf(object);
//Log.e("FactoryResult:", String.valueOf(object));
return result;
} catch (IOException e) {
e.toString();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
return null;
}
在Activity中调用方法:
new Thread(new Runnable() {
@Override
public void run() {
webServiceUtils = new WebServiceUtils();
String result = webServiceUtils.callwebService1POST(WebService_url, MethodName, HashMap<String, String> properties)
try {
resoScanJSON(result);
} catch (JSONException e) {
e.printStackTrace();
}
}
}).start();
在这多说一嘴,就是必须在子线程中运行。
通过KSoap三方插件解析WebService接口方法的更多相关文章
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- Java调用webservice接口方法(SOAP message、xfire、axis)
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- ab post 测试 http 和 webservice 接口方法及用例
1.ab测试简单http请求 ab -n30000 -c1000 "http://10.1.1.21:8080/" 2.ab 测试 http 接口 (POST) ab -n400 ...
- 关于使用axis调用webservice接口方法
1.概述: 我们有时候会调用webserviec接口,我们向接口发送请求参数,从接口接收返回值. 2.形式: package client; import org.apache.axis.client ...
- 开发一个简单的ip解析webservice接口,并用springmvc生成客户端调用
1.创建webservice工程,这次先采用jax-ws框架,下次再尝试jax-rs(restful) 2.写个实现ip解析的类,接收传入的ip,并返回解析信息 3.Myeclipse——>Ne ...
- 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口
目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...
- Java 常调用的Webservice接口的方法
WebService是基于Web的服务,WebService使用SOAP协议实现跨编程语言和跨操作系统平台,接收和响应外部系统的某种请求,从而实现远程调用.WebService采用HTTP协议传输数据 ...
- Kettle通过Http post请求webservice接口以及结果解析处理
kettle中有两种方式请求webservice服务,一个是Web服务查询,但是这个有缺陷,无法处理复杂的需求,遇到这种情况就需要用Http post来处理了. 网上也有很多关于Http post请求 ...
随机推荐
- linux CentOS 安装 nginx
官方网址:http://nginx.org/en/download.html 一.安装基础组件 yum install gcc-c++ yum install pcre yum install pcr ...
- Windows下使用TeamViewer连接远程服务器,以及解决“远程桌面关闭后TeamViewer不能连接”的问题
1.本地安装TeamViewer,完成后如下: 2.远程服务器也安装TeamViewer 在本地TeamViewer中得伙伴ID,输入远程的ID,弹出如下对话框,输入密码即可. 3.这时虽然可以连接, ...
- .Net新利器Rider的破解安装与使用
准备 介绍 Rider 是 JetBrains 提供的一款用于 .Net 开发的 IDE,相对于 VS,它显得更加轻量(才 500m 左右),并且不管是提示功能还是流畅度都不逊色于 VS 且某方面可能 ...
- ES6新特性-函数的简写(箭头函数)
通常函数的定义方法 var fn = function(...){ ...... } //例如: var add = function(a,b){ return a+b; } //或者: functi ...
- git 解决授权失败的方法
git 提示 fatal: Authentication failed for 'http://***********‘’得解决方法 首先用 git config --list 查看一下 如果不对, ...
- 白话skynet第三篇:通过队列解决多线程竞争资源
今天遇到一个问题,在大厅服务中,如果一个请求使用到了一个公共的变量,如何保证其一致性? 虽然请求是挨个运行的,但是skynet.call会阻塞. "同一个 skynet 服务中的一条消息处理 ...
- C语言第02次作业--循环结构
1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 1- 经过这两周的学习,我深切地体会C语言非常的难(对于我而言).大部分情况都是题目不理解和没有思路,或者编译 ...
- python编写接口初识一
python编写接口这里用到的是他一个比较轻量级的框架 flask #!/usr/bin/python # -*- coding: UTF-8 -*- import flask,json server ...
- 安装mongodb服务
摘要:https://www.cnblogs.com/z-x-y/p/9305635.html 欢迎转载,转载请标明出处:https://www.cnblogs.com/z-x-y/p/9305635 ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...