您当前的位置: 首页 >   > 资讯快报 >
  • 广告

webservice理解

发布时间:2015/5/28 0:23:19|浏览次数:

土豆掺土卖成潜规则:200斤掺24斤土白色圣约-李恩惠平和体质谷雨节气的"活法儿"单选易错题吴氏茂名燕子山开族名墓

知识树模板大家是怎么看知乎答案的?【明星美女】宁丹琳关于外交部礼宾司有哪些趣事?腰椎间盘突出症的定位诊断马瑞芳讲聊斋与孩子沟通的万能钥匙黑芝麻糊的做法该放开二胎政策吗?精妙话语:地狱天堂,就在心念之间名家巨匠教你写文章銆愮儹閿€鏃鸿彍銆戝勾骞存湁楸煎勾骞寸児投资失败“七宗罪”中国影子银行以新面目膨胀监管效果有限十题中国梦一张图告诉你那些年被阿里巴巴“吃掉”的那些公司张小娴:门前一盏暖的灯这些音乐,名字叫孤独(Newage音乐45首)精品美图==心酸的日历2015高考数学优化指导第4章第4节风水学古籍《灵城精义》(下卷)銆愭皯闂村亸鏂广€戜竴寮犲浘浠嬬粛銆婂姹侀厤闄堥唻娌诲ソ鎵佸钩鐤c€嬩笁鍥涘ぉ鎵佸钩鐤h嚜鐒舵秷澶变簡锛?民族歌唱家--陈思思风水学上10种坚决不能买的房子户型高考英语单项选择专项复习16套(1-8)和汇网的盈利模式?

会议高手—深度会谈之艺术国务院:提高二套房贷首付和利率卖房征20%税云南官员强奸幼女案今重审律师预测获刑9至10年和汇网的盈利模式?

1,什么是 Web Service ?

   Web Service 就是一个网络组件(一个可以通过网络访问的程序)。

   它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应

   请求和响应的 都是一种基于XML的消息。

   不过这种消息遵循特定的格式(SOAP )。


2,怎样调用 Web Service?

   可能这样说不太准确,应该是“怎样调用Web Service中定义的操作

   每个Web Service 都有一个描述文件(WSDL ),

   它描述 一个 Web Service 的如下方面:

   (1)服务的端口(接收SOAP消息的端口)

   (2)服务提供的操作

   (3)操作的输入输出格式的定义(通过XMLSchema 定义输入输出格式)

    有了Web Service 的描述文件(WSDL ),我们就知道怎样调用这个Web Service 中定义的操作了。

   (1)通过服务提供的操作找到你想调用的操作

   (2)找到这个操作的输入格式的定义(XMLSchema ),按照这种输入格式构造一个SOAP消息

   (3)将这个SOAP消息发送到服务的指定端口

   (4)准备接收一个从Web Service服务器返回的 SOAP 响应吧 !


3,Web Service服务器

   一个Web Service服务器,本质上和一个Web服务器是相同的。

   它主要做下面这些事: 


--> 监听网络端口(监听服务端口) 

--> 接收客户端请求(接收SOAP请求) 

--> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象)

--> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息  

      转换而来的数据对象)

--> 生成响应 (将返回值转换为SOAP消息)

--> 返回响应 (返回SOAP响应)

 

 

4,Web Service客户端

   一个Web Service客户端,顾名思义是和一个Web Service服务器进行交互。

  下面是一个Web Service客户端调用Web Service的基本过程。


--> 构造SOAP请求消息(将本地数据对象转换为SOAP消息) 

--> 发送SOAP消息到Web Service服务器的指定端口

--> 接收SOAP响应消息  

--> 将SOAP响应消息转换为本地数据对象

 

    其实大部分Web Service客户端 都不需要我们来编写,很多Web Service框架

都支持由 Web Service 的描述文件(WSDL)自动生成客户端。

SOAP ,WSDL 和UDDI 是Web Services 框架的核心技术..
(1)SOAP 是Web services 的通信协议。SOAP是一种简单的、轻量级的基于XML 的机制,用于在网络应用程序之间进行结构化数据交换。SOAP包括三部分:一个定义描述消息内容的框架的信封,一组表示应用程序定义的数据类型实例的编码规则,以及表示远程过程调用和响应的约定。 
(2)WSDL表示WEB服务说明语言。WSDL文件是一个XML 文档,用于说明一组SOAP消息以及如何交换这些消息。
 
(3)UDDI(统一描述发现和集成) 提供一种发布和查找服务描述的方法。UDDI 数据实体提供对定义业务和服务信息的支持。WSDL 中定义的服务描述信息是UDDI注册中心信息的补充。

Web Services 的体系架构如图1 所示

  Web Services 服务提供方通过WSDL(Web Services Description Language) 描述所提供的服务,并将这一描述告知Web Services 注册服务器。注册服务器依据WSDL 的描述,依照UDDI (Universal Description Discovery and Integration) 的协定更新服务目录并在Internet 上发布。用户在使用Web Services 前先向注册服务器发出请求,获得Web Services 提供者的地址和服务接口信息,之后使用SOAP 协议(Simple Object Access Protocol) 与Web Services 提供者建立连接,进行通信。Web Services 的技术主要建立在XML 的规范之上,这保证了这一体系结构的平台无关性、语言无关性和人机交互性能。

       SOAP消息代理是整个框架的信息处理中心,它根据预先定义好的应用消息转换机制将消息转换成目标应用需要的数据并存储到应用消息仓库中。除了保存和转发应用消息之外,消息代理还负责将不同的企业应用所保存的应用数据通过企业模型转化为一致的企业数据,保存到数据库中。

  客户端通过UDDI的标准和机制来搜寻需要的web服务,绑定找到的web服务并使用它提供的服务。另外,框架为企业进一步发展电子商务提供了接口,建立在UDDI基础上的Web services可以完成这一功能。


    (一).XML WebService作用
  XML WebService在应用程序中所起的作用与.Net远程调用处理组件相同.
  用户不能直接使用WebService,只能通过Asp.net Web应用程序或Windows桌面
  客户端来调用.
(二).XML WebService与.Net远程处理区别
  1. XML WebService比.Net远程处理对象所受的限制更多。它类似于.Net远程处理
    的单独调用对象的工作机制。 不能创建一个单独的或是由客户端激活的对象.
  2.XML WebService的创建和设计比远程组件更容易/简单.
  3.Net远程处理二进制通信要比XML WebService SOAP格式通信要快捷.
  4.XML WebService较.Net远程处理扩展性强。 它支持以跨平台使用为目的的开放标准.
  5.XML WebService不需要专门的宿主程序,而是由Asp.net承载。 可以访问一些重要的
    平台服务,如:数据缓存/网络会话状态管理/身份验证/全局共享应用程序集合等。而.Net
    远程处理则很难实现这些功能.
  6.XML WebService运行在IIS和ASP.NET之上,使用http信道(80端口)与客户通信。
    可以自由跨越防火墙.
(三).XML WebService创建与调用过程
  I.服务端创建
    1.使用IIS,在Web服务器上新建一个虚拟目录来存放XML Web服务.
    2.建立XML WebService类,使用[WebMethod]属性来标记方法可以被远程调用.
    3.在虚拟目录中部署XML Web服务的文件.
  II.客户端使用
    1.客户端通过URL或文件查询或UDDI注册,发现XML WebService
    2.客户端请求描述XML WebService的WSDL文档。
    3.客户端在WSDL文档的基础上生成一个代理类。
    4.客户端生成代理类的实例,并调用XML Webservice,发送消息并接受处理后结果.
      也就是说调用XML WebService是由客户端生成的代理类实例对象完成的.
(四).IIS作用
  1.IIS通过虚拟目录提供对Web服务器进行访问。简单的说: 就是将"c:\MyWeb"映射
    一个URL地址形式的虚拟目录:"http://192.168.83.66/MyWeb",供本机或Internet
    上计算机访问Webservice.
  2.虚拟目录的权限与普通目录不同。根据默认设置,不允许远程用户浏览虚拟目录,运行
    可执行文件,新建文件和下载某些文件类型文件。可以根据需要自定义IIS虚拟目录权限设置.
  3.IIS对Internet进行公开处理. IIS并不负责运行Asp或Asp.net布面 或XML Webservice,而是
    维护一个注册的文件扩展名列表。如果IIS收到对某一种文件类型的请求,就把工作提交给
    Asp.net工作进程,由Asp.net工作进程处理剩下的工作.
(五).XML WebService和SOAP标准支持的数据类型
  不知道读者有没有遇到这种情况,在调用WebService并给一个方法传递了一个DataRow参数时,运行
  时会抛出异常: "没法将参数序列化!",如果把DataRow加入到DataSet中,并将DataSet作为参数
  传递再运行就OK了。 这是因为:XML WebService只能对数据集DataSet对象类型进行XML序列化,
  不能对DataRow对象类型进行XML序列化造成的错误.  所以了解一下XML WebService支持序列化的基
  本数据类型是比较重要的.它支持的数据类型如下:
  1.基本数据类型. 
      标准类型,如:int float bool DateTime string等基本数据类型
  2.枚举.
      支持枚举Enum定义的类型
  3.自定义对象.
      可以传递任意基于自定义类或结构创建的对象。 但要注意一点: 它只能传输数据成员(变量和属性).
      如果定义了方法,则方法不能进行序列化传输,序列化后只剩下数据成员.
  4.DataSet对象
      支持DataSet,切记:不支持DataTable和DataRow,DataSet已经是XML Webservice能够支持的最小的可序列化对象.
  5.XmlNode对象
      基于XmlNode的对象可以表示XML文档的一部分.
  6.数组和集合
      可以使用任何被支持的类型的数组和简单集合,包括: DataSet对象/XmlNode对象和自定义对象.

另外,关于创建XML WebService实例代码示例,几乎任何一本涉及到WebService的书籍都会讲的。而且创建一个
WebService非常简单. 这里就不多说了

文章出处:http://www.diybl.com/course/4_webprogram/xml/xml_js/20071128/88161.html


2013-07-28 15:31:09, 今日之声-   【“那些‘吃不死、治不好、价格高、回扣多’的药,最受医生欢迎。”——某医院一位主任表示,医药公司将所有贿金成本都算到患者身上。】朝鲜战争老兵方阵孤独悲伤的话语  ★ 这个世界就这么不完美,你想得到些什么就不得不失去些什么。  ★ 在这个纷绕的世俗世界里,能够学会用一颗平常的心去对待周围的一切,也是一种境界。  ★ 有些失去是注定的,有些缘分是永远不会有结果的,爱一个人不一定会拥有,拥有一个人就一定要好好去爱她。  ★ 有些黑暗,只能自己穿越;有些痛苦,只能自己体验;有些孤独,也只能自己品尝。但是,穿过黑暗,我一定能感受到阳光的温度;走