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服务的调用方式分为同步和异步。老习惯了-今天来个怀旧的图片,希望大家喜欢

Web Service学习小结(概念性回忆)-希望你们会喜欢的更多相关文章

  1. Web Service学习笔记:动态调用WebService

    原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...

  2. Web Service学习之二:Web Service(for JAVA)的几种框架

    在讲Web Service开发服务时,需要介绍一个目前开发Web Service的几个框架,分别为Axis,axis2,Xfire,CXF以及JWS(也就是前面所述的JAX-WS,这是Java6发布所 ...

  3. Web Service学习之一:Web Service原理

    一.定义 Web Service 不是框架也不是技术 而是解决远程调用.跨平台调用.跨语言调用问题的一种规范. 二.应用1.同一个公司新.旧系统的整合:比如CRM系统与OA.客服系统相互调用2.不同公 ...

  4. Web Service学习笔记(webservice、soap、wsdl、jws详细分析)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  5. Web Service学习文旦下载

    Web Service的学习暂且告一段落,因为毕竟只是对它作简要了解,至于其原理什么并不打算涉及. 在这里我提供下我之前文档的整理版本: http://kuai.xunlei.com/d/YlzvAG ...

  6. Web Service学习笔记

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  7. Web Service学习笔记(webservice、soap、wsdl、jws详细分析) (转)

    Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计.Web Service服务通常被定义为一组模块化的API ...

  8. Java Restful Web Service 学习指南

    Restful是一种架构style,目前常说的有restful web service, resultful http.现在热搜榜的微服务,大多数会采用Restful方式. JAX-RS 作为一个Re ...

  9. web service 学习

    是什么? 是一种远程调用技术,这种技术提供一些接口,这些接口实现让客户端和服务端进行通信和数据交换,并且让通信和交换与平台和开发语言无关.也可以说是提供了许多函数.客户端调用服务端的函数. 远程调用: ...

随机推荐

  1. 消息中间件的技术选型心得-RabbitMQ、ActiveMQ和ZeroMQ

    消息中间件的技术选型心得-RabbitMQ.ActiveMQ和ZeroMQ 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs RabbitMQ.Active ...

  2. iOS常用宏 定义

    总结了iOS开发过程中的一些常用宏,以后会陆陆续续添加进来. 字符串是否为空 1   #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull c ...

  3. Spring3系列1 -- HelloWord例子

    Spring3系列1-HelloWord例子 一.      环境 spring-framework-3.2.4.RELEASE jdk1.7.0_11 Maven3.0.5 eclipse-jee- ...

  4. 创建 iPhone/iOS8 弹出菜单(窗口)

    基本步骤 添加视图:主视图与弹出视图 关联视图 配置弹出视图 编码实现:弹出菜单样式及控制器委托 override func prepareForSegue(segue: UIStoryboardSe ...

  5. POJ 1012 Joseph

    Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44650   Accepted: 16837 Descript ...

  6. MyEclipse自动生成hibernate实体类和配置文件攻略

    步骤1:找到导航栏里面的window--showView然后输入db brower,打开数据库浏览窗口步骤2:在数据库浏览窗口里只有一个Myeclipse自带的数据库,该数据没有用,我们在空白的地方右 ...

  7. IOS8Preview-Huge for developer and Massive for everyone else

    IOS8Preview-Huge for developer and Massive for everyone else 不管对于开发者还是用户来说,IOS8都是IOS自发布以来功能最强大的版本,但是 ...

  8. SimpleDateFormatter Java中的用法

    转载 http://www.cnblogs.com/jayzee/p/3171195.html 有一点需要补充的是,SimpleDateFormatter是有时制的 如果hh:mm,则选用的是12小时 ...

  9. sqlmap 技巧整理

    收集了一些利用Sqlmap做注入测试的TIPS,其中也包含一点绕WAF的技巧,便于大家集中查阅,欢迎接楼补充.分享. TIP1 当我们注射的时候,判断注入 http://site/script?id= ...

  10. MyBatis知多少(10)应用程序数据库

    应用程序数据库往往是最小.最简单.也最易于使用的数据库.这种数据库往往是我们这些开发人员通常不介意使用甚至非常乐意使用的.应用程序数据库通常与我们的应用程序处于同一个项目中,两者一齐设计和实现.正是因 ...