话不多说,正文如下:

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接口方法的更多相关文章

  1. Java调用webservice接口方法

                             java调用webservice接口   webservice的 发布一般都是使用WSDL(web service descriptive langu ...

  2. Java调用webservice接口方法(SOAP message、xfire、axis)

    webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...

  3. ab post 测试 http 和 webservice 接口方法及用例

    1.ab测试简单http请求 ab -n30000 -c1000 "http://10.1.1.21:8080/" 2.ab 测试 http 接口 (POST) ab -n400 ...

  4. 关于使用axis调用webservice接口方法

    1.概述: 我们有时候会调用webserviec接口,我们向接口发送请求参数,从接口接收返回值. 2.形式: package client; import org.apache.axis.client ...

  5. 开发一个简单的ip解析webservice接口,并用springmvc生成客户端调用

    1.创建webservice工程,这次先采用jax-ws框架,下次再尝试jax-rs(restful) 2.写个实现ip解析的类,接收传入的ip,并返回解析信息 3.Myeclipse——>Ne ...

  6. 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  7. 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  8. Java 常调用的Webservice接口的方法

    WebService是基于Web的服务,WebService使用SOAP协议实现跨编程语言和跨操作系统平台,接收和响应外部系统的某种请求,从而实现远程调用.WebService采用HTTP协议传输数据 ...

  9. Kettle通过Http post请求webservice接口以及结果解析处理

    kettle中有两种方式请求webservice服务,一个是Web服务查询,但是这个有缺陷,无法处理复杂的需求,遇到这种情况就需要用Http post来处理了. 网上也有很多关于Http post请求 ...

随机推荐

  1. Vue.js的简介

    vue.js简介 Vue.js读音 /vjuː/, 类似于 view   Vue.js是前端三大新框架:Angular.js.React.js.Vue.js之一,Vue.js目前的使用和关注程度在三大 ...

  2. Map集合转成json数据

    maven项目需要导入一下依赖: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId> ...

  3. 如何去掉wordpress后台notice提示窗口

    我们在安装完wordpress插件后,有些会在后台页面弹出一个提示你去收费升级pro版,如下图所示,这无可厚非,基础功能可以免费用,如果要用高级功能可以升级.有些朋友觉得基础功能够用了,又不想看到弹出 ...

  4. linux----------linux下安装rar和unrar命令

    1.wget http://www.rarlab.com/rar/rarlinux-x64-4.2.0.tar.gz 2.tar xf rarlinux-x64-4.2.0.tar.gz    解压下 ...

  5. PeopleSoft底层表,闪存查找历史代码(不小心改)

    Oracle 闪存查找历史代码 select * from (SELECT * FROM  PSPCMTXT      AS OF TIMESTAMP to_timestamp('20180725 1 ...

  6. django框架配置mysql数据库

    django配置mysql数据库: 1.首先更改django项目文件中的settings.py的数据库配置 DATABASES = { 'default': { 'ENGINE': 'django.d ...

  7. Json数据产生树形结构

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  8. 指定时间生成cron表达式

    public class CronUtils { private static final SimpleDateFormat sdf = new SimpleDateFormat("ss m ...

  9. 记录心得-FastJson分层解析demo示例

    记录一下,平时用到,可速查!关键: // startArray(); 开始解析数组 // endArray(); 结束解析数组 // startObject(); 开始解析键值对 // endObje ...

  10. [游戏开发日志]Windows下Cocos2d-x 3.14环境搭建

    总介绍 我们小组使用的是cocos2d-x的游戏开发引擎,因此在所有开发工作之前,我们需要对这个引擎进行环境的搭建. 搭建过程 VS2013的下载和安装 VS只是作为一个开发环境而已,简单来说就是敲代 ...