`

webservice和soap小原理

 
阅读更多

什么是Web Services
  
  从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是说,可以利用编程的方法通过Web来调用这个应用程序。
  
   对Web service 更精确的解释: Web services是建立可互操作的分布式应用程序的新平台。Web service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web service ,只要我们可以通过Web service标准对这些服务进行查询和访问。
  
  不管你的Web service是用什么工具,什么语言写出来的,只要你用SOAP协议通过HTTP来调用它,总体结构都一致。通常,你用你自己喜欢的语言(如VB 6或者VB.NET)来构建你的Web service,然后用SOAP Toolkit或者.NET的内建支持来把它暴露给Web客户。于是,任何语言,任何平台上的客户都可以阅读其WSDL文档,以调用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。 bbs.bitsCN.com中国网管论坛
  
  基本概念
  
  SOAP
  
  XML和XSD
  
  WSDL(Web Services Description Language)
  
  WSML(Web Services Meta Language)
  
  什么时候使用Web Services
  
  Web service是创建可互操作的分布式应用程序的新平台。Web service 的主要目标是跨平台的可互操作性。为了达到这一目标,Web service 是完全基于XML、XSD等独立于平台、独立于软件供应商的标准的。
  
  Web service在应用程序跨平台和跨网络进行通信的时候是非常有用的。Web service适用于应用程序集成、B2B集成、代码和数据重用,以及通过Web进行客户端和服务器的通信的场合。
  
  当然,Web service也不是万能的,你不能到处滥用Web service。在有些情况下,Web service 会降低应用程序的性能,而不会带来任何好处。例如,一台机器或一个局域网里面运行的同构应用程序就不应该用Web service 进行通信。
  
  如何调用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对象名后面直接加上.方法(参数…)进行调用。
  
  低层接口
  
  要使用低层接口,你必须对SOAP和XML有所了解。你可以对SOAP的处理过程进行控制,特别是要做特殊处理的时候。
  
   在客户端,首先要创建一个HttpConnector对象,负责HTTP连接。设定Connector的一些头部信息,比如EndPoinURL和 SoapAction等。如果网络连接需要使用代理服务器,那也要在这里设定相关的信息。接着创建SoapSerializer对象,用于生成Soap消 息。按照WSDL里定义,把所有参数按顺序序列化,得到一个完整的SOAP请求消息。该Soap消息,作为Payload通过HttpConnector 被发送到服务端。最后,生成一个SoapReader对象,负责读取服务端返回的SOAP消息,取得其中的返回值。

分享到:
评论

相关推荐

    WebService工作原理以及SOAP简介.part1.rar

    视频资源 关于 webservice的 soap 的讲解

    跨域WebService请求-Nginx_SOAP服务_Ajax客户端.docx

    1 目标:将WebService和客户端部署在不同的服务器,由客户端请求服务。 2 原理:Nginx将不同域的HTTP服务、网站放入统一的域中,规避跨域问题。 不同的服务器位置于不同的域。JavaScript安全性不允许POST的跨域...

    webService的基本原理

    webService的基本原理 SOAP: 是“Simple Object Access Protocol”的缩写,SOAP是消息传递的协议,它规定了Web Services之间是怎样传递信息的。简单的说,SOAP规定了: 1. 传递信息的格式为XML。这就使Web ...

    webservice的原理及概念

    webservice的原理及概念(soap,wsdl等等)

    WebService技术及其应用实例论文

    其次介绍了WebService技术中的关键技术,其中包括可扩展性标记语言(XML)、简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)注册中心。最后本文依据WebServices的技术原理、体系...

    AJAX與調用Webservice博客技術匯整

    XML Webservice實現原理及相關知識 26 UDDI FAQs 29 ASP.NET中利用SQLXML WEB服務訪問XML數據 37 企業應用的Web服務安全技術之一︰問題介紹 45 伺服器端異步 Web 方法 51 設計可本地化的全球化 Web 站點 58 設計可...

    soap编程全解,web服务开发原理

    比较详细的讲解java下的soap编程,实例与原理同步,对学习soap的读者有帮助

    JAVA的WebService支持.rar

    JAVA的WebService支持.rar,详细介绍了cxf、axis、wsdl、soap等原理及应用开发!

    PHP使用SOAP扩展实现WebService的方法

    主要介绍了PHP使用SOAP扩展实现WebService的方法,结合实例形式较为详细的分析了SOAP扩展的原理及实现WebService的相关技巧,需要的朋友可以参考下

    WEB服务_原理与技术.pdf

    主要讲webservice,soap,还涉及到一些分布式,工作流

    webservice学习资料下载

    webservice是跨语言的远程调用技术,把对象的方法让远程可以调用 2.soap协议 3.服务端要提供wsdl文件,wsdl文件的作用 4.客户端调用原理,5.服务器端实现原理

    基于SOAP的Web服务AJAX客户端.docx

    1 目标:浏览器客户端使用AJAX请求Web服务,传递参数,接受返回结果。 2 原理:使用POST传递SOAP格式的XML数据。 3 流程:发布WebService,查询WSDL,创建HTML和AJAX请求,测试。

    CXF实现WebServices_3

    CXF实现WebService_1 的视频,WebService的工作原理以及SOAP的简介

    Webservice远程调试及超时操作原理解析

    WebService远程调试 在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中添web.... <add name=HttpSoap/> <add name=Http

    基于 SpringBoot+ +Mybatis+ Apache velocity 开发 webservice +源代码+文档说明

    基于SpringBoot + Spring + Apache CXF +Mybatis 开发SOAP的 WebService 服务 # 备注 | **版本** | **说明**| | ------ |:------:| | 1.0.0版本| | | 2.0.0版本|springboot启动| # 原理 Mybatis基于动态代理实现...

    Java远程通讯可选技术及原理

    在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的...

    qqmusic.rar_xml/soap/webservice_Visual_Basic_

    本程序是采用XML核心技术与列表控件的应用所开发出来的,其原理是根据QQ号来获取空间音乐地址来进行播放,从此达到不必要到别人空间去试听,并且可以自己下载或转到自己的空间进行使用!目前还在开发下载功能,尽请...

    C#.Net的常见面试试题

    分别是什么原理? <br/>12.进程和线程分别怎么理解? <br/>13.什么是code-Behind技术。 <br/>14.活动目录的作用。 <br/>15..net中读写XML的类都归属于哪些命名空间? <br/>16.解释一下UDDI、...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

    wsdl4j.zip

    wsdl4j源码,通过学习源码理解wsdl解析原理,鉴于安全考虑,wsdl4j源码涉A监管,希望国人可以通过借鉴其原理自己造一个解析wsdl分解的轮子,供国人使用

Global site tag (gtag.js) - Google Analytics