Webservice soap wsdl区别之个人见解

    • Web Service实现业务诉求:Web Service是真正“办事”的那个,提供一种办事接口的统称。
    • WSDL提供“能办的事的文档说明”:对要提供的服务的一种描述格式。我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型。
    • SOAP提供“请求”的规范:向服务接口传递请求的格式,包括方法和参数等。你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个“请求”的格式的,按照SOAP定义的“请求”格式“书写”请求就可以保证Web Service能够正确的解读你想让它干什么以及你为它提供了什么参数。在这个请求中,你需要描述的主要问题有:向哪个Web Service发送请求,请求的参数类型、参数值、返回值类型。这些都“填写”完毕,也就完成了符合SOAP规范的SOAP消息。

       

      wsdl和soap虽然是web service的两大标准,但是两者并没有必然的联系,都可以独立使用。

        wsdl提供了一个统一的接口,目前已经成为一个国际上公认的标准,通过wsdl提供的接口可以访问不同类型的资源(如java、c#、C、C、C++等),因为wsdl是基于xml,与语言平台无关的。另外wsdl提供了binding和service元素,用以绑定接口到具体的服务,实现了接口与实现的分离。

      soap(简单对象访问协议)是一种基于http的传输协议,用来访问远程服务

        wsdl与soap的关系在于:wsdl绑定服务的时候可以设定使用的协议,协议可以是soap、http、smtp、ftp等任何一种传输协议,除此以外wsdl还可以绑定jms、ejb及local java等等,不过都是需要对binding和service元素做扩展的,而且需要扩展服务器的功能以支持这种扩展

       

      soap协议是一种请求和应答协议规范,而http是web传输协议,soap的传输是可以基于http的,但也可以基于其他的传输协议,如ftp、smtp等。

       

      简单对象访问协议(SOAP)是W3C组织的一个Note, 它描述了一种在分散的或分布式的环境中如何交换信息的轻量级协议。SOAP是一个基于XML的协议,它包括三个部分:SOAP封装(Envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(Encoding Rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC Representation),表示远程过程调用和应答的协定;SOAP可以和多种传输协议绑定(Binding),使用底层协议交换信息。在这个文档中,目前只定义了SOAP如何和HTTP以及HTTP扩展进行绑定的框架。

      SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。

      SOAP的前身是RPC, 就是远程呼叫处理的协议,这个协议安全性不是很好,多数防火墙都会阻挡RPC的通信包,而SOAP则使用HTTP协议作为基本的协议,使用端口80使得SOAP可以透过防火墙,完成RPC的功能。

      SOAP协议和HTTP协议一样,都是底层的通信协议,只是请求包的格式不同而已,SOAP包是XML格式的,现在我们编写WEB SERVICE不需要深入理解SOAP也没关系。如果SERVICE和CLIENT在同样的环境下使用SOAP,由于一般情况下都有自动生成SOAP程序框架的工具,因此不知道细节也没关系. 可是, 如果CLIENT和SERVICE的环境不同,比如说JAVA的Client和.NET的SERVICE进行通信,或者是VB CLIENT和TOMCAT下的JAVA SERVICE通信,还是要知道一点细节为好. 特别是, WSDL或者UDDI都不是标准,如果不让用就只好手工配制SOAP MESSAGE啦。

时间: 2024-09-18 23:36:46

Webservice soap wsdl区别之个人见解的相关文章

RPC、RMI、SOAP的区别详解_其它综合

============================================================================RPC与RMI的区别 ============================================================================RPC:(Remote Procedure Call) 被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异. 支持多语言. RMI:(Remot

php的webservice的wsdl的XML无法显示问题的解决方法

本篇文章是对php的webservice的wsdl的XML无法显示问题的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 php的webservice的因为wsdl有中文所以xml无法显示 可以用Nopepad++ 转码即可 以UTF-8无BOM编码  

浏览器-怎么能获得webservice的wsdl文档呢?

问题描述 怎么能获得webservice的wsdl文档呢? 翻了一下有关资料,最多只说了在浏览器上访问它,这具体是怎么做的啊?怎么用浏览器能显示出wsdl文档的呢?有没有哪位大神能说说具体步骤?还有哪些网站有提供webservice?像百度,新浪等这些较大型网站有没有提供webservice呢? 解决方案 一般webservice都是提供给自己的客户端使用的,没有直接公开可以查询, 有公开的话,那么在往官方开发网站上有说明 解决方案二: 中国天气网,,这个可以查看,,你可以看看

如何使webservice得wsdl地址不能打开,服务却能访问

问题描述 WSDL文件会暴露很多信息,请问各位如何操作才能使webservice得WSDL地址不能打开,webservice的服务却能调用访问? 问题补充:你好,你说的安全的认证是说让认证过的人才能调用服务是吗? xiaoyuqi00 写道 解决方案 可以加入身份认证,也可以限制访问IP,如果服务是公开的,只是不想让别人访问服务的首页,可以在代码中做截获,只允许请求具体调用函数解决方案二:还怎没这么做过,但是不应该让其他人打不开你的wsdl,而应该是做安全的认证.

c#调用webservice(wsdl)提示无法连接到远程服务器

问题描述 c#调用webservice(wsdl)先是提示无法连接到远程服务器,当我添加url属性后,提示格式不正确,应为xml/text,请有经验的朋友指点一二,谢谢! 解决方案 解决方案二:在浏览器里面键入URL地址,看看返回什么.解决方案三:服务器不通,先找网络问题解决方案四:该回复于2011-03-15 11:00:52被版主删除解决方案五:在URL键入可以显示内容的,而且也能把接口解析出来了,不会是网络问题.就是接口解析出来后怎么调用的问题.我直接调用就出问题,不知道要修改什么地方?解

php SOAP WSDL简单应用实例

php教程 SOAP WSDL简单应用实例 <?php    $ws = "http://www.111cn.net/sd/2001/TemperatureService.wsdl";    $zipcode = "23590";    $client = new SoapClient($ws,array('trace' => 1));    $temperature = $client->getTemp($zipcode);    echo ht

SOAP webserivce 和 RESTful webservice 对比及区别

简单对象访问协议(Simple Object Access Protocol,SOAP)是一种基于 XML 的协议,可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME),基于"通用"传输协议是 SOAP的一个优点.它还支持从消息系统到远程过程调用(Remote Procedure Call,RPC)等大量的应用程序.SOAP提供了一系列的标准,如WSRM(WS-Reliable Messaging)形

php中SOAP WebService的wsdl文件生成类

代码如下  代码如下 复制代码 class SoapDiscovery {     private $class_name = '';     private $service_name = '';     /**      * SoapDiscovery::__construct() SoapDiscovery class Constructor.      *      * @param string $class_name      * @param string $service_nam

.NET 的 WCF 和 WebService 有什么区别?(转载)

[0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP.NET Web Service的区别是什么? 这是很多.NET开发人员容易搞错的问题.面试的时候也经常遇到.而很多新手也会因为初次接触WCF或者Web Service而陷入迷惑的境地,很多资料介绍的也不准确.我甚至和许多许多年开发经验的开发人员讨论这些问题,他们都无法分清二者的区别.相信很多人也 被误导.以下是最常见的错误观点: Web Service太旧了: We