soap协议

TCP/IP,HTTP,SOAP等协议之区别

折月煮酒 提交于 2020-02-14 00:22:30
术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。 你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。 HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。 SOAP(Simple Object Access Protocal,简单对象访问协议) 技术有助于实现大量异构程序和平台之间的互操作性,根据我有限的了解,SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。比如我们.NET中的WEB服务,就是基于SOAP。 记住,需要IP协议来连接网络;TCP是一种允许我们安全传输数据的机制

WebService学习(一)——简介

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-10 18:38:16
一、什么是WebService Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。 二、WebService规范 JAVA 有三种WebService 规范,分别是JAXM&SAAJ、JAX-WS(JAX-RPC)、JAX-RS JAXM&SAAJ: JAXM(JAVA API For XML Message)主要定义了包含了发送和接收消息所需的API,相当于Web 服务的服务器端。SAAJ(SOAP With Attachment

SOAP与REST API的爱恨情仇

这一生的挚爱 提交于 2020-02-07 20:57:10
之前一直想写些RESTful相关的文章,却一直未付诸行动。直到最近接手一个新的项目,对这块重新温习,乘此机会写些相关帖子。欢迎大家评论留言,如有错漏之处,也望各位大佬不令赐教。 话不多说,干活顶上。 SOAP(Simple Object Access Protocol - 简单对象访问协议) 定义了一种强类型的消息传递框架,该框架高度依赖XML和schemas。 REST(Representation State Transfer - 表示状态转移) 是一种架构样式风格,它利用了当下被广泛采用的技术(特别是HTTP),本身却不创建任何新的标准。REST可以将数据结构序列化为XML,YAML或任何其他机器可读格式,但通常首选JSON。 SOAP和REST都支持构建基于应用程序的SOA(Service-oriented architecture,面向服务的架构),在实际项目中如何选择主要看业务的需求是什么。那如何选择呢? 这便是今天的重点,讨论下两者的主要区别。今天主要从一下几个方面进行区别: 底层协议 SOAP本身便是基于HTTP而发展的协议。 REST与HTTP几乎一样,REST规范没有强制的要求。 数据格式 SOAP只依靠XML来提供消息传递服务。在某些情况下,消息传递服务可能变得极其复杂。例如,通过javascript访问Web服务, REST可以语言自由的选择易解析的数据格式

php自带SOAP扩展调用web service

不羁的心 提交于 2020-02-07 07:09:25
提起php调用web service,在php4年代的人会立即想到用 nusoap调用,这个 nusoap是个好东东,不过年久未更新,恐其中会有众多漏洞了,正好已经进入了php5年代了,调用web service用自带的扩展岂不快哉! 前提:打开php5的web service扩展 环境需求: This extension makes use of the GNOME xml library . Download and install this library. You will need at least libxml-2.5.4. Linux下, This extension is only available if PHP was configured with --enable-soap Windows下: php.ini文件中 extension=php_soap.dll 去掉注释即可 其次:调用实践,以下是俺近期调用的算是一些总结吧 手册摘录: SoapClient->__soapCall() 说明 class SoapClient { mixed __soapCall ( string function_name, array arguments [, array options [, mixed input_headers [, array &output

序列化和反序列化

我怕爱的太早我们不能终老 提交于 2020-02-06 00:25:59
1, 摘要   序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中;另一方面,它们会以其他更容易理解的概念出现,例如加密、持久化。然而,序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更为显著。恰当的序列化协议不仅可以提高系统的通用性、强健性、安全性、优化系统性能,而且会让系统更加易于调试、便于扩展。本文从多个角度去分析和讲解“序列化和反序列化”,并对比了当前流行的几种序列化协议,期望对读者做序列化选型有所帮助。   简介   文章作者服务于美团推荐与个性化组,该组致力于为美团用户提供每天billion级别的高质量个性化推荐以及排序服务。从Terabyte级别的用户行为数据,到Gigabyte级别的Deal/Poi数据;从对实时性要求毫秒以内的用户实时地理位置数据,到定期后台job数据,推荐与重排序系统需要多种类型的数据服务。推荐与重排序系统客户包括各种内部服务、美团客户端、美团网站。为了提供高质量的数据服务,为了实现与上下游各系统进行良好的对接,序列化和反序列化的选型往往是我们做系统设计的一个重要考虑因素。   本文内容按如下方式组织: 第一部分给出了序列化和反序列化的定义,以及其在通讯协议中所处的位置。 第二部分从使用者的角度探讨了序列化协议的一些特性。

SOAP消息机制简介

断了今生、忘了曾经 提交于 2020-01-30 00:54:03
 SOAP(Simple Object Access Protocol,简单对象访问协议)作为一种信息交互协议在分布式应用中非常广泛,如WebService。在使用.Net开发WebService时候,只需要在对应的方法上加上WebMethod特性然后就可以通过网络进行SOAP消息的发送。这样在平时使用Webservice时,可能不太关心SOAP消息的结构到底是怎样的。下面大致说说SOAP消息的结构,以及使用工具监听SOAP消息报文。 本节目录: 1、XSD是什么 2、基于SOAP的数据交互系统是XSD的 3、SOAPSOAP消息结构 4、支持SOAP的协议 5、通过SOAPHeader扩展SOAP 6、SOAP自定义异常 7、监听SOAP消息 1、XSD是什么   XSD(XML Scheme Definition,XML大纲定义)文档用来描述XML的结构和内容。它本身也是一个XML文档,通过它我们可以知道xml文档中包含哪些节点,以及这些节点应该是什么类型的值等。常见的如WSDL文档。 2、基于SOAP的数据交互系统应该是XSD的   WebService数据交互格式是基于SOAP的,而实际上SOAP就是具有SOAP格式的XML数据。基于XML的跨平台特性,各个系统在调用WebService时,都需要能准确的理解WebService需要什么类型的参数,有哪些参数

Apache Synapse

大城市里の小女人 提交于 2020-01-30 00:41:06
Apache Synapse可以提供企业服务总线(ESB,Enterprise Service Bus)的许多功能。可以从很多厂商那里获得ESB,通过可扩展标记语言(EXML,Extensible Markup Language)Web服务接口以及基于规则的标准化路由,在企业系统之间提供安全的互用性。 ESB有这么一个功能,把XML文件从一种数据格式转换为另一种,从而使得可以在不同的应用程序中共享这些文件。此外,ESB还保证可以在预设规则的基础上共享数据。 下载: http://synapse.apache.org/download.html Apache Synapse 特性 1、基于 Apache Axis2, 最新 1.2 版本 2 、支持服务注册以及寻址管理 3 、支持 WS-Addressing/WS-Security/WS-RM 等规范 4 、支持 HTTP(S)/JMS/POP3/SMTP/IMAP/FIX 等协议以及转换 5 、消息处理:消息接收、转发、中介、路由、错误处理 6 、服务质量 7 、支持 Load Balance 和 Failover, 以及服务缓存 8 、支持脚本中介,无需修改应用代码,通过 JS 等脚本来控制消息 9 、 JMX, 支持自治监控 消息仲裁框架 Apache Synapse 实现了通用的中介框架。可以指定一个对消息进行操作

Web Services的简单介绍

僤鯓⒐⒋嵵緔 提交于 2020-01-29 03:50:53
一、Web Services的基本概念 Web Services是设计支持机器于机器通过网络互操作的一种软件系统(W3C的定义)。 Web Services是一种分布式的体系结构,可以跨域应用系统的对象体系、运行平台、开发语言等的界限,以服务的形式封装应用并对外发布,供用户或其他企业调用,从而形成一个基于Web的服务共享平台。 Web Services是描述一些利用标准化的XML消息传递机制可以通过网络访问的操作的接口。Web Services是用标准的、规范的XML概念描述的,称为Web Services的服务描述(WSDL)。这一描述囊括了与服务交互需要的全部细节,包括消息格式、详细操作、传输协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或软件平台和编写服务所用的语言使用服务。这允许并支持基于Web Services的应用程序称为松散耦合、面向组件或跨技术实现。Web Services履行一项特定的任务或一组任务。 二、相关概念 1、XML:XML是EXtensible Markup Language的缩写,XML是一种类似于HTML的标记语言,XML是用来描述数据的,XML的标记不是在XML中预定义的,你必须定义自己的标记 XML使用文档类型定义(DTD)或者模式(Schema)来描述数据 ,XML使用DTD或者Schema后就是自描述的语言. 2

Web Service

非 Y 不嫁゛ 提交于 2020-01-27 11:05:36
WebService调试:修改后的文件,首先生成一下,否则调试时断点不能进入。 WebService发布后,服务是封装在一个wsdl(Web Service Description Language,Web服务描述语言)文件中,客户端发请求主要是向发布好的wsdl地址以SOAP方式发请求,调用过程如下: 1.服务端生成服务描述文件,以供客户端获取。 2.客户端取得服务端的服务描述文件,解析该文件从而获得服务端的服务信息以及调用方式。 3.客户端指定调用方法和参数,生成恰当的SOAP请求消息,发往服务端,并等待服务端返回的SOAP回应消息。 4.服务端接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。并根据wsdl的描述,完成指定功能,将返回值放入SOAP回应消息返回给用户。 5.客户端解析得到的返回值。 WebService的三要素是: SOAP (Simple Object Access Protocol):简易对象访问协议,soap用来描述传递信息的格式。 WSDL (WebServices Description Language):Web服务描述语言,用来描述如何访问具体的接口。 UDDI (Universal Description Discovery and Integration):通用描述、发现及整合,用来管理、分发、查询WebService。

DLNA第一步UPnP协议栈

人走茶凉 提交于 2020-01-27 05:39:08
前面公司有DLNA项目,研究了一下,在网上关于DLNA的资源很少,就将自己的心得写出来,以供参考。 其它的关于DLNA的介绍就不多说,要了解DLNA需要了解upnp,因为DLNA在upnp之上,初学者可以从http://www.upnp.org下载upnp的资料.也欢迎大家加入197683240 DLNA交流群。 upnp 分为四步:发现 、 描述 、 控制 、 事件 发现 当一个 UPnP 的设备加入网络,并想知道什么 UPnP 服务在网络上可用,它发送一个发现消息多播地址 239.255.255.250 端口 1900 通过 UDP 协议。此消息包含一个头,类似于一个 HTTP 请求。该协议有时被称为为 HTTPU ( HTTP 通过 UDP ): M-SEARCH * HTTP/1.1 ST: upnp:rootdevice MX: 3 MAN: "ssdp:discover" 所有其他UPnP设备或方案都必须回应此消息类似的消息发送回设备,使用UDP单播,宣布该设备或程序实现的UPnP型材。一个有趣的怪癖:发送UDP单播设备发现消息被送往港口。 对于每一个配置文件,它实现发送一条消息: HTTP/1.1 200 OK ST:upnp:rootdevice USN:uuid:1d8ec8a7-4736-4598-9950-9710c992e471::upnp