class="p0">Web Service的出现带来了很多系统工程直接相互的调用。无疑让代码的隐藏得到了好的封装。
Web Service 它的主要的组成要素:
SOAP:(Simple Object Access Protocol)简单对象访问协议,对于整个web 服务来说这是必须要遵循的一个协议。只有通过了这个协议才可以跨平台,或者跨防火墙直接进行通信。
WSDL:(Web Service Description Language)Web服务描述语言。其实WSDL就是一种XML文档。比如:Web服务调用返回的结果的载体,发送到Web服务的参数的载体。都是以XML文档的形式传送
UDDI:(Universal Description Discovery and Integration):统一描述,发现和集成协议。它的存在就是为了记录Web Service的信息,帮你查询到Web service,一般情况下是要讲Web Service注册到UDDI中的。除非你想让别人知道你的Web Service。
在客户端调用Web 服务整个过程都是需要进行序列化和反序列化的。
下面说一下:Web服务的调用方式:
1. 同步调用
对于同步调用的时候,大家都是知道代码的执行顺序是由上到下执行的。如果这段代码有Web服务的方法,那么它只能够先执行Web服务的方法执行完之后才可以继续往下执行,如果由于一些因素影响了代码的执行。比如:网络的问题,对于这个问题是必须要考虑的。用户在那里等了半天都不呈现,那样是很不好的。没有一家公司是愿意这样做的。所以就出现了另一种调用的方式。
2. 异步调用
对于异步调用有那么一点点的复杂,没关系,一起来看看。
对于Web服务的代码还是不用更改的。只是客户端的调用需要改变代码
A. 需要将这个编码完成的Web服务部署到IIS服务器上,新建网站选择存放网站的目录,完成后先在浏览器中调用调试。防止出现调用的错误。如果一切OK的话,
B. 在客户端的网站中添加Web引用,这是很重要的。然后选择本地
中的选择本地计算机中的Web服务,顺便提一下第一个选择,如果客户端的解决方案中存在Web服务的项目就可以直接选择第一个了。然后看到右侧的Web引用名这是个人定义的。但是还是推荐规范的命名方式。
确认后可以再项目中看到一个SearchBookServices文件夹,当中存放的就是VS自动生成的文件,简单的说明一下:
disco:发现文档,包含所有的Web服务的可用的资源的引用
wsdl:当前web服务wsdl文件
discomap:发现文档,包含对.disco和.wsdl文件的引用
下面就是异步调用的方式了:
首先肯定是要引用命名空间,就是刚刚自定义的命名空间了。
最下面的就是笔者定义的命名空间。
实例化一个全局的私有服务类,
这里我简单的写了一个异步调用的方法。这就是Web Service的调用,当然这里只是简单的说说。帮助大家回忆一下。
对于Web 服务的优点:
A. 可以跨平台通信
B. 跨越防火墙通信
C. B2B(Business To Business)的集成
D. 软件和数据的重用
最后请大家不用忘了Web服务的调用方式分为同步和异步。老习惯了-今天来个怀旧的图片,希望大家喜欢