一 WebService
WebService是使应用程序以与平台和编程语言无关的方式进行相互通信技术,比如:站点提供访问的数据接口:新浪微博,淘宝等。
官方定义:它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。WebService是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问WebService,通过WebService内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他WebService应用程序可以发现并调用它部署的服务。
它使用Web(HTTP)方式,接收和响应外部系统的某种请求。从而实现远程调用.
1:从WebService的工作模式上理解的话,它跟普通的Web程序(比如ASP、JSP等)并没有本质的区别,都是基于HTTP传输协议的程序。
2:WebService所使用的数据均是基于XML格式的。目前标准的WebService在数据格式上主要采用SOAP协议。
SOAP(Simple Object Access Protocol):简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。
WSDL:Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。为用户提供详细的接口说明书。即外部对于WebService的调用方式。
Webservice和WebProject的区别:
1 web service 是可以做接口访问其他web service的。打个比方你打开360上面会有天气预报,那就是webservce,360网站调用中国气象网站的数据接口获得数据的,是两个不同系统之间的相互调用。http://www.webxml.com.cn/WebServices/WeatherWebService.asmx。webService需要发布后才能被其他工程或者web服务调用。
2 web project,就是一个web应用,你自己做的网站就是一个web project,如果你想在你的网站里加入一些其他内容(例如天气预报,邮编查询,手机号码归属地查询等等),那就要调用其他网站的接口了,那就是web service。
二 WSDL元素
wsdl元素是基于XML语法描述了与服务进行交互的基本元素
Type(消息类型):数据类型定义的容器,它使用某种类型系统
Message(消息):通信数据的抽象类型化定义,它由一个或者多个part组成
Part:消息参数
Opretation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作:
单向(one-way):端点接受信息;
请求-响应(request-response):端点接受消息,然后发送相关消息;
要求-响应(solicit-response):端点发送消息,然后接受相关消息;
通知(notification):端点发送消息。
Port Type (端口类型):特定端口类型的具体协议和数据格式规范。
Binding:特定端口类型的具体协议和数据格式规范
Port :定义为绑定和网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。