编辑文章 - 博客频道 - CSDN.NET

来源:互联网 发布:优化探究答案必修一 编辑:程序博客网 时间:2024/06/06 12:55

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序(来自百度百科)

Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制(来自百度百科)。

在Java下使用Web Service,我们就必须学会看懂服务器提供的WSDL文档。

下面我们直接看下使用Web Service需要的步骤:

1.通过查看WSDL文档,可以知道:

文档中提供的命名空间 String namespace=空间名;

我们需要用到的方法 String methodname=方法名;

方法的参数值(需要多少写多少)String para1=参数1;String para2=参数2;

与上述方法对应的soapaction名称 String soapaction=soapaction名;

WSDL文档对应的地址String url=地址名(WSDL文档地址去掉后面的wsdl后缀);

上面是通过文档的到的信息,下面进行配置连接(Java环境下还需要去下载一个包ksoap2-android-assembly-3.2.0-jar-with-dependencies.jar):

创建一个SoapObject对象 SoapObject soapobject=new SoapObject(namespace, methodname);

设置方法参数soapobject.addProperty("参数1", para1);    soapobject.addProperty("参数2", para2);

生成调用WebService方法的SOAP请求信息,并指定SOAP的版本

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

设置是否调用的是dotNet的WebService

envelope.dotNet = true;

设置输出流即发送的请求信息

envelope.setOutputSoapObject(soapobject);

建立http连接

HttpTransportSE transport = new HttpTransportSE(URL);

try {
// 调用WebService;
transport.call(SOAPACTION, envelope);
} catch (Exception e) {
e.printStackTrace();
}

获取返回的数据

SoapObject object = (SoapObject) envelope.bodyIn;

接下来需要对返回数据进行分析取值得到我们想要的结果,可以通过输出object的数据来查看分析。

下面给一个例子,若得到的是一位数组,可以这样来获得第一个数据String result = object.getProperty(0).toString();

好了,这里就打住了,希望大家多多指教,不对的请纠正,请文明用语。





0 0
原创粉丝点击