ksoap调用webservice
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
公司服务器是采用webservice搭建的,用soap协议交互数据,我用过gsoap跟ksoap.跟大家分享一下ksoap如何访问webservice的。如果有webservice服务器测试的朋友直接看客户端的代码参考就可以了,没有webservice服务器的朋友可以自己搭建一个测试一下.
服务器代码,这里就贴出一个方法(需要全部代码的请点击下载链接,下载链接在文档尾部)
public String GetUserInfo(){
return "Android开发技术交流群 202928390";
}
java客服端代码
package com.ansen.test; import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE; public class Test {
private static final String NAMESPACE ="http://Services.jason.TSD/";//你的webservice的命名空间
private static String URL ="http://localhost:8080/UserMgrService/UserInfoPort?wsdl";
private static final String METHOD_NAME ="GetUserInfo";//你要调用方法的名字 public static void main(String[] args) {
String name=ksoapTest();//在java项目中可以直接调用
System.out.println(name); // new Thread(){//如果是android项目必须要开启一个线程调用,还要增加访问网络的权限
// @Override
// public void run() {
// String name=ksoapTest();
// System.out.println(name);
// }
// }.start();
} public static String ksoapTest(){
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);//命名空间,要掉用的方法的名字
// request.addProperty("userId",9);//如果有参考可以设置参数
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); //协议
envelope.bodyOut = request;
HttpTransportSE ht = new HttpTransportSE(URL);//wsdl的url链接
SoapObject soapObject=null;
try {
ht.call(NAMESPACE+"#"+METHOD_NAME, envelope);
soapObject= (SoapObject) envelope.bodyIn;
} catch (Exception e) {
e.printStackTrace();
}
String name=soapObject.getProperty(0).toString();//得到第一个返回值
// String dwSum=soapObject.getProperty(1).toString();//得到第二个返回值
return name;
}
}
搭建服务器以及客户端调用操作步骤:
1.需要有jdk
2.需要有myeclipse环境
3.myeclipse需要配置tomcat
4.把服务器代码导入myeclipse里面
5.运行tomcat
6.浏览器输入地址:http://localhost:8080/UserMgrService/UserInfoPort?wsdl
7.把java客服端代码导入myeclipse,运行即可
后记:
最近有朋友发现我的代码在java项目下运行没有问题,代码移植android项目中就会有问题.
1.检查你的手机跟电脑是同一个局域网,或者你的服务器支持外网访问.
2.访问webservice的URL不要填写localhost,写你tomcat服务器的ip地址.例如我服务器ip地址是:192.168.9.129,修改后URL如下.
private static String URL ="http://192.168.9.129:8080/UserMgrService/UserInfoPort?wsdl";
ksoap调用webservice的更多相关文章
- 利用ksoap调用webservice
博文参考: http://www.cnblogs.com/shenliang123/archive/2012/07/05/2578586.html http://blog.csdn.net/jimbo ...
- Android调用WebService
这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...
- Android调用WebService(转)
Android调用WebService WebService是一种基于SOAP协议的远程调用标准,通过 webservice可以将不同操作系统平台.不同语言.不同技术整合到一块.在Android SD ...
- Android通过ksoap2这个框架调用webservice大讲堂
昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有 ...
- 一个简单的webservice的demo(下)winform异步调用webservice
绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...
- 调用webservice进行身份验证
因为同事说在调用webservice的时候会弹出身份验证的窗口,直接调用会返回401,原因是站点部署的时候设置了身份验证(账号名称自己配置).因而在调用的时候需要加入身份验证的凭证. 至于如何获取身份 ...
- java接口调用——webservice就是一个RPC而已
很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...
- C# 调用webservice 几种办法(转载)
原文地址: http://www.cnblogs.com/eagle1986/archive/2012/09/03/2669699.html //=========================== ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
随机推荐
- PO,VO,BO,DTO,POJO(POCO),DAO的区别(转载)
PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:business object业 ...
- Sublime Text3的安装
作为一名前端开发小白,使用Sublime两年多了,从当初的Sublime Text 2到如今的Sublime Text 3,非常喜欢这款轻量级编译器,它不像Dreamweaver那样动辄几百M,只有仅 ...
- (转)win7 64 安装mysql-python:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
原文地址:http://www.cnblogs.com/fnng/p/4115607.html 作者:虫师 今天想在在win7 64位环境下使用python 操作mysql 在安装MySQL-pyth ...
- win2003+sql2005配置
1.安装win2003+sp1 2.安装IIS: a.启用Asp支持(2003 默认安装不安装IIS 6 ,需另外安装.安装完IIS 6,需单独开启ASP支持) 控制面板 -> 管理工具 -&g ...
- 疯狂C#~伴随着我的库存管理¥
每次的等待都是期待下一次的勃发!但激进的我非常想和大家学习一些东西,所以特地的分享了一个库存管理, 生活中容易运用的很多,但现在的学业希望能够得到各界人士的帮助!!! 首先:会有几个类来让它们协调 ( ...
- 2016/11/16 周三 <使用LocalStore记住用户密码方法示例>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Visual Studio 2015 如何将全英界面转成中文
1 启动VS2015程序,在菜单栏中找到tools 2 在弹出的下拉窗口中选中options 3 此时弹出的对话框,选中Environment下的international setting 4 点击获 ...
- 初涉深度优先搜索--Java学习笔记(二)
版权声明: 本文由Faye_Zuo发布于http://www.cnblogs.com/zuofeiyi/, 本文可以被全部的转载或者部分使用,但请注明出处. 上周学习了数组和链表,有点基础了解以后,这 ...
- 阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
项目主页:http://alibaba.github.io/dubbo-doc-static/Home-zh.htm 我的博客:http://javatar.iteye.com
- 安装SQL Server2016正式版
安装SQL Server2016正式版 今天终于有时间安装SQL Server2016正式版,下载那个安装包都用了一个星期 安装包可以从这里下载: http://www.itellyou.cn/ ht ...