zoukankan      html  css  js  c++  java
  • Web Services基础学习(W3C)

    1.Web services 使用 XML 来编解码数据,并使用 SOAP 来传输数据

    2.基础的 Web Services 平台是 XML + HTTP。

    Web services 平台的元素:

    • SOAP (简易对象访问协议)
    • UDDI (通用描述、发现及整合)
    • WSDL (Web services 描述语言) 

    通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

    什么是 SOAP?

    • SOAP 指简易对象访问协议
    • SOAP 是一种通信协议
    • SOAP 用于应用程序之间的通信
    • SOAP 是一种用于发送消息的格式
    • SOAP 被设计用来通过因特网进行通信
    • SOAP 独立于平台
    • SOAP 独立于语言
    • SOAP 基于 XML
    • SOAP 很简单并可扩展
    • SOAP 允许您绕过防火墙
    • SOAP 将作为 W3C 标准来发展 

    什么是 WSDL?

    WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。

    • WSDL 指网络服务描述语言
    • WSDL 使用 XML 编写
    • WSDL 是一种 XML 文档
    • WSDL 用于描述网络服务
    • WSDL 也可用于定位网络服务
    • WSDL 还不是 W3C 标准 

    什么是UDDI?

    UDDI 是一种目录服务,通过它,企业可注册并搜索 Web services。

    • UDDI 指通用的描述、发现以及整合(Universal Description, Discovery and Integration)。
    • UDDI 是一种用于存储有关 web services 的信息的目录。
    • UDDI 是一种由 WSDL 描述的网络服务接口目录。
    • UDDI 经由 SOAP 进行通迅。
    • UDDI 被构建于 Microsoft .NET 平台之中。 

    Web服务的体系结构是基于Web服务提供者、Web服务请求者、Web服务中介者三个角色和发布、发现、绑定三个动作构建的。

     Web service的体系结构

    实现一个完整的Web服务包括以下步骤:

     Web服务提供者设计实现Web服务,并将调试正确后的Web服务通过Web服务中介者发布,并在UDDI注册中心注册; (发布)

     Web服务请求者向Web服务中介者请求特定的服务,中介者根据请求查询UDDI注册中心,为请求者寻找满足请求的服务; (发现)

     Web服务中介者向Web服务请求者返回满足条件的Web服务描述信息,该描述信息用WSDL写成,各种支持Web服务的机器都能阅读;(发现)

    ◆ 利用从Web服务中介者返回的描述信息生成相应的SOAP消息,发送给Web服务提供者,以实现Web服务的调用;(绑定)

     Web服务提供者按SOAP消息执行相应的Web服务,并将服务结果返回给Web服务请求者。(绑定)

    SOAP 构建模块 
    一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:  

      ◆必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息   

      ◆可选的 Header 元素,包含头部信息  

      ◆必需的 Body 元素,包含所有的调用和响应信息  

      ◆可选的Fault 元素,提供有关在处理此消息所发生错误的信息

    WSDL 文档结构

    WSDL 文档是利用这些主要的元素来描述某个web service 的:

    元素 定义
    <portType> web service 执行的操作
    <message> web service 使用的消息
    <types> web service使用的数据类型
    <binding> web service 使用的通信协议

      

    WSDL 端口

       <portType> 元素是最重要的 WSDL 元素。它可描述一个web service、可被执行的操作,以及相关的消息。 可以把<portType> 元素比作传统编程语言中的一个函数库(或一个模块、或一个类)。

    WSDL 消息 

      <message> 元素定义一个操作的数据元素。每个消息均由一个或多个部件组成。可以把这些部件比作传统编程语言中一个函数调用的参数。

     WSDL types  

      <types> 元素定义 web service 使用的数据类型。 为了最大程度的平台中立性,WSDL 使用XML Schema 语法来定义数据类型。

     WSDL Bindings  

      <binding> 元素为每个端口定义消息格式和协议细节

    如何调用Web Services ?
      客户端:取得服务端的服务描述文件WSDL,解析该文件的内容,了解服务端的服务信息,以及调用方式。根据需要,生成恰当的SOAP请求消息(指定调用的方法,已经调用的参数),发往服务端。等待服务端返回的SOAP回应消息,解析得到返回值。
      服务端:生成服务描述文件,以供客户端获取。接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。根据WSDL和WSML的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。

      高层接口
      使用高层接口,不需要知道SOAP和XML的任何信息,就可以生成和使用一个WebService。Soap Toolkit 2.0通过提供两个COM对象――SoapClient和SoapServer,来完成这些功能。
      在客户端,只需要生成一个SoapClient实例,并用WSDL作为参数来调用其中的mssoapinit方法。SoapClient对象会自动解析WSDL文件,并在内部生成所有Web Service的方法和参数信息。之后,你就可以像调用IDispatch接口里的方法一样,调用里面所有的方法。在VB或是脚本语言里,你甚至可以直接在SoapClient对象名后面直接加上.方法(参数?)进行调用。

     

     

    参考文献:

    http://www.cnblogs.com/Jessy/p/3528341.html

    http://wenku.baidu.com/link?url=YEvlnDWmGRxfIKpIp84uypkTgId14M49PolVHk0T4my0kgeMSUjhv0K_XFLYj4KcEkw55xbgnZnBIGn2NBhUq_XzMLk-bWFTUIWEx7xYGi7

  • 相关阅读:
    cocos2d-x CSV文件读取 (Excel生成csv文件)
    cocos2d-x 中 xml 文件读取
    String 类的实现
    json 文件解析与应用
    设计模式 之 《简单工厂模式》
    C++ 0X 新特性实例(比较常用的) (转)
    CCSpriteBatchNode CCSpriteFrameCache
    LongAdder
    ConcurrentHashMap源码
    HashMap源码
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/4866035.html
Copyright © 2011-2022 走看看