整了一段时间的web service,记录并分享一下我的收获.
假设一个需求,我们要验证用户登录,用户在客户端(一般为浏览器)填写用户名和密码,经浏览器组成一个HTTP请求,发送到服务器。浏览器发送的包格式可能类似这样:
HTTP/1.1 200 OK
Date: Sat, 23 May 2009 11:43:24 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o PHP/5.2.12
X-Powered-By: PHP/5.2.12
Content-Length: 315
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8
username=abc&password=123
服务器端解析这个请求,并取出用户名和密码进行验证。在php下,我们这么取出:
$name=$_POST['username'];
$pass=$_POST['password'];
//使用取到变量并进行验证
现在来看看这种方式的缺点
1、客房端需要浏览器且没有一个统一的标准,不同的用户组成的请求包不同,不易调试及移植。
2、服务器端需要安装类似apache的服务器软件及php来处理请求。如果我想把这样的应用由BS架构移成CS架构,非常复杂。
后来,人们就使用一这样的方式:
同样,发用户名和密码到服务器,数据包成这样:
HTTP/1.1 200 OK
Date: Sat, 23 May 2009 11:43:24 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o PHP/5.2.12
X-Powered-By: PHP/5.2.12
Content-Length: 315
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://server.ws.cmsms.ultrapower.com/">
<soapenv:Body>
<ser:getLinkAuth>
<username>abc</username>
<password>123</password>
</ser:getLinkAuth>
</soapenv:Body></soapenv:Envelope>
可以看到,为了交换两个字串,发送了一个XML格式的字串,有用的数据,就是那个abc和123.
服务器端返回的响应同样,包含一个XML字串.
为了规定请求和响应的XML字串的格式,人们又定义了WSDL文件.这样,我们只要得到一个WSDL文件,就能知道客户端请求和服务器端响应是什么格式,按照WSDL的规定做好请求或响应就可以了,而不用管对方是怎么实现的.
续:
http://baiyuxiong.iteye.com/blog/945386
分享到:
相关推荐
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
而soapUI是一款强大的、免费的测试工具,专门用于测试Web Service接口,提供了全面的功能,包括SOAP(Simple Object Access Protocol)和RESTful服务的测试。本教程将详细讲解如何使用soapUI进行Web Service测试。 ...
本压缩包“java-ws-clients.rar”包含了一些关于如何使用Java和Apache Axis库创建及操作SOAP Web服务的实例。Apache Axis是一个开源的Java框架,它简化了SOAP客户端和服务端的实现。 SOAP是一种基于XML的协议,用于...
1. **创建SOAP项目**:SoapUI允许用户导入WSDL(Web Services Description Language)文件,自动构建项目的结构,包括SOAP端点、操作和服务。 2. **测试用例**:用户可以创建测试步骤,模拟实际业务流程,进行功能...
- **请求构造器**:允许用户手工构建或导入WSDL(Web Service Description Language)文件自动生成请求。 - **响应查看器**:展示服务返回的数据,便于解析和分析。 - **断言**:可设置断言检查返回结果是否符合...
1. **导入WSDL**:启动SOAPUI,选择“New SOAP Project”,然后提供WSDL的URL或本地文件路径。 2. **创建测试用例**:根据WSDL自动生成的请求,可以编辑请求内容,添加断言。 3. **运行测试**:点击“Run”按钮,...
SOAPUI是一款功能强大的接口测试工具,尤其在处理Web Service接口时表现出色。它允许开发者对基于SOAP(Simple Object Access Protocol)的接口进行测试,同时也能处理RESTful API。SOAPUI的核心功能之一就是能够...
ASP.NET Web Service是一种基于.NET Framework的简单方法,用于构建可跨平台、跨语言通信的Web应用程序。这个例子是为初学者设计的,旨在演示如何创建和使用Web Service,以及如何在ASP.NET环境中调用这些服务。 ...
Java解析WSDL(Web Service Description Language)是一种标准的XML格式,用于定义Web服务接口,包括其功能、消息格式以及如何通过网络调用这些服务。在Java中,处理WSDL文件通常涉及SOAP(Simple Object Access ...
Web Service是一种基于XML的开放式标准,它通过SOAP(Simple Object Access Protocol)协议进行通信,使用WSDL(Web Services Description Language)定义服务接口,UDDI(Universal Description, Discovery, and ...
**步骤2:** 在弹出的对话框中输入WSDL的URL,例如`http://www.webservicex.com/currencyconvertor.asmx?WSDL`,然后点击“确定”。成功添加后,你会在导航器中看到WSDL已成功导入,并且可以看到Web服务的操作列表。 ...
* 自描述:Web Service 有自己的描述文件(WSDL),描述了服务的端口、操作、输入输出格式等信息。 * 模块化:Web Service 是一个模块化的应用,可以根据需要进行组装和调用。 3. Web Service 的技术和规则 * XML...
这需要了解SOAP消息结构和WSDL(Web Service Description Language),WSDL是描述Web Service接口的XML文档。 在提供的压缩包文件中,"TestWebServiceClient"可能是一个包含客户端代码的项目,用于演示如何调用由...
SoapUI是一款强大的开源测试工具,专门针对Web Service进行功能、负载和合规性测试。它的名称来源于它主要处理的协议——SOAP(Simple Object Access Protocol),这是一种基于XML的网络通信协议,广泛用于Web服务...
Web Service是一种基于开放标准(如SOAP、WSDL和UDDI)的应用程序接口,它允许不同系统之间的数据交换。在Delphi中,开发Web Service可以极大地拓宽应用程序的功能,使其能够与其他平台和服务进行通信。 首先,我们...
综上所述,使用 Spring-WS 开发 Web Service 需要对 SOAP 协议、XML Schema、WSDL 以及 Spring 框架有深入理解。通过源码分析和工具应用,我们可以更有效地构建、测试和部署高质量的 Web Service 应用。在实际项目中...
它提供了SOAP协议的所有必需工具,如WSDL(Web Service Description Language)导入、SOAP消息构造、自动代码生成等。 2. **RESTful API测试**:对于RESTful服务,SoapUI同样提供了全面的支持,可以创建HTTP请求,...
SOAPUI是一款强大的开源测试工具,专为Web Service的测试而设计,涵盖了功能测试、负载测试、性能测试和符合性测试等多个方面。它以SOAP(简单对象访问协议)和HTTP为基础,允许用户方便地创建、执行和分析SOAP和...