barriers / 阅读 / 详情

Web Service 到底是什么东西?

2023-09-11 23:59:32
TAG: 到底
共4条回复
meira

当前,WebService是一个热门话题。但是,WebService究竟是什么?什么情况下应该用WebService?什么情况下不应该用WebService?是需要我们正确认识的。

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。

在构建和使用Web Service时,主要用到以下几个关键的技术和规则:

1.XML:描述数据的标准方法.

2.SOAP:表示信息交换的协议.

3.WSDL:Web服务描述语言.

4.UDDI:找到服务驱动器的的方法;

实际上,WebService的主要目标是跨平台的可互操作性。为了达到这一目标,WebService完全基于XML(可扩展标记语言)、XSD(XMLSchema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。由此可以看出,在以下三种情况下,使用WebService会带来极大的好处。

长项一:跨防火墙的通信

如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题。因为客户端和服务器之间通常会有防火墙或者代理服务器。在这种情况下,使用DCOM就不是那么简单,通常也不便于把客户端程序发布到数量如此庞大的每一个用户手中。传统的做法是,选择用浏览器作为客户端,写下一大堆ASP页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。

图1通过WebService集成应用程序

举个例子,在应用程序里加入一个新页面,必须先建立好用户界面(Web页面),并在这个页面后面,包含相应商业逻辑的中间层组件,还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把“结果页”送回浏览器。要是客户端代码不再如此依赖于HTML表单,客户端的编程就简单多了。

如果中间层组件换成WebService的话,就可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。要调用WebService,可以直接使用MicrosoftSOAPToolkit或.NET这样的SOAP客户端,也可以使用自己开发的SOAP客户端,然后把它和应用程序连接起来。不仅缩短了开发周期,还减少了代码复杂度,并能够增强应用程序的可维护性。同时,应用程序也不再需要在每次调用中间层组件时,都跳转到相应的“结果页”。

从经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用WebService这种结构,可以节省花在用户界面编程上20%的开发时间。另外,这样一个由WebService组成的中间层,完全可以在应用程序集成或其它场合下重用。最后,通过WebService把应用程序的逻辑和数据“暴露”出来,还可以让其它平台上的客户重用这些应用程序。

长项二:应用程序集成

企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。应用程序经常需要从运行在IBM主机上的程序中获取数据;或者把数据发送到主机或UNIX应用程序中去。即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。

例如,有一个订单登录程序,用于登录从客户来的新订单,包括客户信息、发货地址、数量、价格和付款方式等内容;还有一个订单执行程序,用于实际货物发送的管理。这两个程序来自不同软件厂商。一份新订单进来之后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序上面增加一层WebService,订单执行程序可以把“AddOrder”函数“暴露”出来。这样,每当有新订单到来时,订单登录程序就可以调用这个函数来发送货物了。

长项三:B2B的集成

用WebService集成应用程序,可以使公司内部的商务处理更加自动化。但当交易跨越供应商和客户、突破公司的界限时会怎么样呢?跨公司的商务交易集成通常叫做B2B集成。

WebService是B2B集成成功的关键。通过WebService,公司可以把关键的商务应用“暴露”给指定的供应商和客户。例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。当然,这并不是一个新的概念,EDI(电子文档交换)早就是这样了。但是,WebService的实现要比EDI简单得多,而且WebService运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,WebService并不像EDI那样,是文档交换或B2B集成的完整解决方案。WebService只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。

用WebService来实现B2B集成的最大好处在于可以轻易实现互操作性。只要把商务逻辑“暴露”出来,成为WebService,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。

长项四:软件和数据重用

软件重用是一个很大的主题,重用的形式很多,重用的程度有大有小。最基本的形式是源代码模块或者类一级的重用,另一种形式是二进制形式的组件重用。

图2用WebService集成各种应用中的功能,为用户提供一个统一的界面

当前,像表格控件或用户界面控件这样的可重用软件组件,在市场上都占有很大的份额。但这类软件的重用有一个很大的限制,就是重用仅限于代码,数据不能重用。原因在于,发布组件甚至源代码都比较容易,但要发布数据就没那么容易,除非是不会经常变化的静态数据。

WebService在允许重用代码的同时,可以重用代码背后的数据。使用WebService,再也不必像以前那样,要先从第三方购买、安装软件组件,再从应用程序中调用这些组件;只需要直接调用远端的WebService就可以了。举个例子,要在应用程序中确认用户输入的地址,只需把这个地址直接发送给相应的WebService,这个WebService就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址是否在相应的邮政编码区域。WebService的提供商可以按时间或使用次数来对这项服务进行收费。这样的服务要通过组件重用来实现是不可能的,那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。

另一种软件重用的情况是,把好几个应用程序的功能集成起来。例如,要建立一个局域网上的门户站点应用,让用户既可以查询联邦快递包裹,查看股市行情,又可以管理自己的日程安排,还可以在线购买电影票。现在Web上有很多应用程序供应商,都在其应用中实现了这些功能。一旦他们把这些功能都通过WebService“暴露”出来,就可以非常容易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。

将来,许多应用程序都会利用WebService,把当前基于组件的应用程序结构扩展为组件/WebService的混合结构,可以在应用程序中使用第三方的WebService提供的功能,也可以把自己的应用程序功能通过WebService提供给别人。两种情况下,都可以重用代码和代码背后的数据。

从以上论述可以看出,WebService在通过Web进行互操作或远程调用的时候是最有用的。不过,也有一些情况,WebService根本不能带来任何好处。

短处一:单机应用程序

目前,企业和个人还使用着很多桌面应用程序。其中一些只需要与本机上的其它程序通信。在这种情况下,最好就不要用WebService,只要用本地的API就可以了。COM非常适合于在这种情况下工作,因为它既小又快。运行在同一台服务器上的服务器软件也是这样。最好直接用COM或其它本地的API来进行应用程序间的调用。当然WebService也能用在这些场合,但那样不仅消耗太大,而且不会带来任何好处。

短处二:局域网的同构应用程序

在许多应用中,所有的程序都是用VB或VC开发的,都在Windows平台下使用COM,都运行在同一个局域网上。例如,有两个服务器应用程序需要相互通信,或者有一个Win32或WinForm的客户程序要连接局域网上另一个服务器的程序。在这些程序里,使用DCOM会比SOAP/HTTP有效得多。与此相类似,如果一个.NET程序要连接到局域网上的另一个.NET程序,应该使用.NETremoting。有趣的是,在.NETremoting中,也可以指定使用SOAP/HTTP来进行WebService调用。不过最好还是直接通过TCP进行RPC调用,那样会有效得多。

总之,只要从应用程序结构的角度看,有别的方法比WebService更有效、更可行,那就不要用WebService

max笔记

web service 简单说就是基于 XML(调用方法和参数描述)+HTTP(传输协议) 的远程调用,调用无外乎规定方法名和参数。比起一个简单的java调用接口,Web Service最大的好处是在分布式的环境下能够跨平台地实现远程调用,比如服务端在Linux C环境,客户端在Windows Java环境,只要遵从Web Service的协议(如SOAP)就能实现相互的调用。当然,基于TCP/IP的socket接口也可以实现相应异构环境通信,Web Service比起基于socket的方式,抽象程度更高,更为易用。

大鱼炖火锅

偶也不是很了解,期待高手:

Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

LocCloud

web service总的来说:

1、供其它客户端或服务端调用的服务。

2、这种服务可以跨平台、跨语言。

3、为了实现跨语言、跨平台,W3C就制定了SOAP、WSDL等标准。

4、SOAP:一种来用规范数据传输的协议(所有编程语言都可以根据这种规范来解析数据,所以就实现了跨语言)。

5、WSDL:用来描述一项web服务,能让调用这项服务的客户清楚这是一项什么服务,怎么调用这项服务。

6、SOAP、WSDL都是以XML文档,所以有XML的所有优势。

相关推荐

soap包是什么

数据交换协议规范。根据查询博客园官网得知,soap包是一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范。SOAP协议和HTTP协议一样,都是底层的通信协议。
2023-09-03 13:27:421

什么是SOAP?

  【释义一】:  soap是一个英语单词,可以用作名词和动词,可以翻译为肥皂、肥皂剧,等等。  【释义二】:  SOAP 是基于 XML 的简易协议,可使应用程序在 HTTP 之上进行信息交换。  或者更简单地说:SOAP 是用于访问网络服务的协议。  【释义三】:  SOAP:滑油光谱分析,根据物质的光谱来鉴别物质及确定它的化学组成和相对含量的方法叫光谱分析。SOAP能够发现没有被滑油滤清器捕获的小粒子,尺寸范围从0.001--0.02mm。这类检测方法常被用在检测发动机内部零件的磨损情况。
2023-09-03 13:27:523

富士施乐打印机信箱无法用SOAP通信协议

1、首先打开计算机,单击计算机左下角找到“设备与打印机”选项,使用鼠标单击进入。2、使用鼠标单击进入“设备和打印机”选项界面后,在界面内找到并单击“添加打印机”选项并进入。3、单击进入“添加打印机”选项界面后,在界面内会弹出一个选项窗口,在窗口内找到并单击“添加本地打印机”选项进入。4、单击进入“添加本地打印机”选项界面后,在界面内创建端口的standard TCP/ip port,点击下一步。5、使用鼠标单击下一步后,会进入输入打印机ip地址界面,在界面内输入正确的ip地址,然后将下面的打钩选项去掉,再点击下一步。6、使用鼠标单击下一步后,在界面内找到并单击“磁盘选择”选项,找到正确的驱动就可以将富士施乐打印机与电脑连接了。
2023-09-03 13:28:151

webservice调用方式http和soap的区别是什么?

 Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。x0dx0a个人以为就把webservice当成是Http这种请求和响应方式就可以处理大部分问题了。 x0dx0aSOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。x0dx0ax0dx0a为了更好的理解SOAP,HTTP,XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。
2023-09-03 13:28:381

webservice采用什么协议传输,SOAP 还是Http

  Web Service使用的是 SOAP (Simple Object Access Protocol)协议  soap协议只是用来封装消息用的。封装后的消息你可以通过各种已有的协议来传输,比如http,tcp/ip,smtp,等等,你甚至还一次用自定义的协议,当然也可以用https协议。  Soap建立在http上,说白了是用http传送xml而已。  除了WebService外,常见的远程调用技术还有RMI(Remote method invoke)和CORBA,由于WebService的跨平台和跨编程语言特点,因此比其他两种技术应用更为广泛,但性能略低。
2023-09-03 13:28:541

SOAP是什么

计算机是执行程序的机器。程序是指令和数据的集合。为了使互联网上相互连接的计算机能通过程序协同工作,微软公司采用了SOAP以及XML规范。SOAP是关于调用指令的规范,XML则是定义数据格式的规范。只要定义出了指令和数据的规范,装有符合规范的程序的计算机自然就可以相互协作了。所谓计算机的协同工作指的是,输入到一台计算机中的数据,可以通过互联网传送到与这台计算机相连的其他计算机上执行运算,运算所输出的结果再返回给这台计算机。像这样部署在其他计算机上能执行某种运算的程序就叫作XML Web服务。
2023-09-03 13:29:232

http是传输层协议 soap是应用层协议么

伪命题,http是OSI中的应用层协议,TCP/UDP是属于传输层协议的。SOAP是由xml+http组成。引用一个文章:soap将信息进行XML的序列化后,再用http协议的方式再打包进行传送,传送的方式还是tcp或者udp。做个比喻就好理解了。tcp 和 udp 都是公路,暂且把tcp认为是一般公路,udp高速公路,soap和http就都是汽车,那么soap和http都可以在tcp和udp上跑。说soap可以通过http来传送,实际就是说soap是小轿车,http是装轿车的卡车,把soap的信息装到http里面,然后再运输,当然走的道路还是tcp或udp。说soap可以通过http协议来传输,这句话不太准确,比较准确第说法是:soap信息可以通过http协议包装后通过tcp或udp传输。 文章地址:网页链接
2023-09-03 13:29:562

soap协议和普通的post请求有什么区别呢

soap协议是一个协议,post请求是请求,没有办法比较的东西。你是想问webservice请求和post的区别吧?WebService的请求,可以采用Get和post两种方式。Post只是Http协议的一部分,webService则是由Http协议之上发展而来,当然webservice可以支持soap协议总体来说Webservice请求和Post请求之间有交集,但是又各有不同
2023-09-03 13:30:231

什么是web应用协议 谢谢

应该是WEB服务协议吧。Web Service支持3种协议来与用户交流数据。这3种协议分别是: 1.HTTP-GET2.HTTP-POST3.SOAP在这3种协议中,HTTP(Hypertext Transfer Protocol)已经是众所周知的协议了,它是XML Web Service数据传输的标准,其中包括使用SOAP传输数据。HTTP将SOAP消息压缩,然后以HTTP传输协议的形式进行网络传输。然而在XML Web Service下使用HTTP-GET和HTTP-POST的时候,事实上是指有关单独使用HTTP调用XML Web Service中的方法的能力,而不使用SOAP。在HTTP中,GET和POST并不是一种协议,它们是可以用来与Web Service交互的几种方法中的其中两种。然而,这二种方法的传送参数和数据的能力使它们变成了一种简单的,非常适合用来调用XML Web Service的工具。SOAP是XML Web Service最常用到的连接协议。与HTTP相比,SOAP显的更为复杂,但却拥有更强的接受能力。SOAP是一种以XML为基础的协议,它提供一种将数据打包(Packaging)和编码(Encoding)的方法,以用于网络的数据传输。任意一个用户都可以使用SOAP协议与任何一个XML Web Service进行通信,甚至于这个XML Web Service不是建立在.NET 平台上的,比如说Java的,都可以利用SOAP来进行数据传输。因此可见,SOAP也是Language Independent(语言独立性)。2HTTP-GET和HTTP-POSTHTTP-GET 和 HTTP-POST 是使用 HTTP(超文本传输协议)谓词以及与之关联的请求语义将参数作为名称/值对编码和传递的标准协议。每个协议都由一系列 HTTP 请求头组成,这些头与一些其他信息一起定义客户端向服务器请求的内容,而在成功时,服务器将用一系列 HTTP 响应头和所请求的数据响应。
2023-09-03 13:30:471

WebAPI 和 webservice的区别

webapi用的是http协议,webservice用的是soap协议 webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作http soap关系http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。WCF和WEB API我该选择哪个?1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web APISOAP:Simple Object Access Protocol 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。HTTP协议: 应用层 TCP协议 : 传输层HTTP协议详解之响应篇在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文 1、状态行格式如下: HTTP-Version Status-Code Reason-Phrase CRLF 其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。 状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值: 1xx:指示信息–表示请求已接收,继续处理 2xx:成功–表示请求已被成功接收、理解、接受 3xx:重定向–要完成请求必须进行更进一步的操作 4xx:客户端错误–请求有语法错误或请求无法实现 5xx:服务器端错误–服务器未能实现合法的请求 常见状态代码、状态描述、说明: 200 OK //客户端请求成功 400 Bad Request //客户端请求有语法错误,不能被服务器所理解 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden //服务器收到请求,但是拒绝提供服务 404 Not Found //请求资源不存在,eg:输入了错误的URL 500 Internal Server Error //服务器发生不可预期的错误 503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常 eg:HTTP/1.1 200 OK (CRLF)2、响应报头后述3、响应正文就是服务器返回的资源的内容
2023-09-03 13:30:581

使用Postman测试WebService(SOAP协议)接口

上面我们提到过SOAP是基于XML的格式来进行传输的,这边需要指定传输数据的类型;并且指定了数据编码格式为UTF-8(中文乱码) 这边把接口定义的请求格式复制进去,填上必要的参数就可以了;注意的是这边要选择 raw 得方式进行请求,关于它们的区别我在后面会写到。 相当于 Content-Type:multipart/form-data ; 它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。 相当于 application/x-www-from-urlencoded ,会将表单中的数据以键值对的形式拼接起来;如: name=许渺&gender=0 上传任意格式的文本,比如JSON、XML等 相当于Content-Type:application/octet-stream;用来上传二进制数据,一般是用来上传文件;因为没有键值对所以每次只能上传一个文件。 参考 http://blog.csdn.net/ye1992/article/details/49998511
2023-09-03 13:31:211

如何在SOAP协议中设置参数风格 详细03

对于使用 ASP.NET 创建的 XML Web services 和它们的使用 SOAP 与 XML Web services 方法进行通讯的客户端来说,一个复杂的机制可以用来控制发送到服务器和从服务器接收的 SOAP 消息的格式。SOAP 规定发送到 XML Web services 和从 XML Web services 发送回的 SOAP 消息的内容必须为 XML 格式。但是,它并没有严格地规定 XML 的格式设置。为了提供一个使用接收不同的格式设置的 XML Web services 的机制,ASP.NET 提供了一个基于属性的机制来控制 SOAP 消息中 XML 的格式。另外,还提供了指定特定元素和通过网络发送的 SOAP 属性名的基于属性的机制,用来在更精细的细节级别上控制 SOAP。 使用 ASP.NET 创建的 XML Web services 和它们的客户端之间的通讯在很大程度上是由两个行业标准规范的:SOAP 和 Web 服务描述语言 (WSDL)。SOAP 为出现在 Body 元素下的数据定义格式设置方案,并为如何在 Body 元素中对参数进行格式设置定义格式设置方案。WSDL 用于描述 XML Web services 所需的 SOAP 消息,WSDL 允许 XML Web services 声明它们接受带有编码参数的 RPC 消息,但它还定义了两个其他术语:Literal 和 Document。Literal(与 Encoded 类似)是指参数的格式设置方式。Document(与 RPC 类似)是指全部 Body 元素的格式设置方式。 下表概述了使用 ASP.NET 创建的 XML Web services 支持的格式设置样式以及完成每个特定组合的属性。带有 Service 后缀的属性可以应用于实现 XML Web services 的类以设置该类中 XML Web services 方法的默认格式设置样式。带有 Method 后缀的属性只能应用于 XML Web services 方法或调用 XML Web services 方法的代理类中的方法。每个组合的详细信息在下表中都有所介绍。 SOAP Document SOAP RPC SOAP SOAP 7 Literal — XSD SoapDocume ntMethod SoapDocume ntService Use=Litera Encoded - SOAP 5 SoapDocume ntMethod SoapDocume ntService Use=Encode d SoapRpcMethod SoapRpcService 设计 XML Web services 时首先要作出的决定之一就是您要如何对 SOAP 请求中的 XML 进行编码。明确地说,您是要 XML 文档严格遵循 XSD 架构还是要遵循 SOAP 规范第 5 节和第 7 节中概述的格式设置规则?SOAP 规范第 5 节和第 7 节中的格式设置规则考虑到了变体。这样,使用 SOAP 编码规则的 SOAP 请求的接收方必须处理所有可能的变体。通过定义 XML Web services 方法的 XSD 架构,可以具体地定义 SOAP 请求中需要发送的确切内容。使用 ASP.NET 创建的 XML Web services 默认为使用基于架构传递的文档。 因为 XML Web services 方法的参数可以组成 SOAP 请求或响应中传递的大部分数据,所以参数映射到 XML 元素的方式决定了 XML 文档的外观。Web 服务描述语言 (WSDL) 定义了两种参数格式设置样式:Encoded 和 Literal。Encoded 是指使用 SOAP 规范第 5 节中概述的 SOAP 编码对参数进行格式设置。Literal 是指使用 l 这是默认值。 每个参数预定义的 XSD 架构将参数映射到 XML 元素。使用 XML Web services 客户端,您可以选择如何将参数映射到 XML 元素以匹配 XML Web services 需要的形式。使用 ASP.NET 创建的 XML Web services 支持 Literal 和 Encoded 两种参数格式设置样式。该支持根据 XML Web services 方法格式设置选择有所变化。 请注意,虽然 ASP.NET 提供了一个广泛的结构用来控制 XML 格式设置的方式,但是并不保证参数序列化的顺序。 我们可以写一个WebService 例子来说明这一点: testSoapParam.asmx: using System; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Services.Description; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; using System.Data; public class testEncoded : WebService { [ SoapDocumentMethod(Use=SoapBindingUse.Encoded ,ParameterStyle=SoapParameterStyle.Bare) ] //参数风格为:Encoded 并且是Bare [WebMethod()] public struct1 testStructBareEncode(struct1 a){ return a; } [ SoapDocumentMethod(Use=SoapBindingUse.Encoded ) ]// 参数风格为:Encoded [WebMethod()] public struct1 testStructEncoded(struct1 a){ return a; } [ SoapDocumentMethod(Use=SoapBindingUse.Literal ) ]//参数风格为:Literal [WebMethod()] public struct1 testStructLiteral(struct1 a){ return a; } [ SoapDocumentMethod(ParameterStyle=SoapParamet erStyle.Bare) ]// 参数风格为:Bare [WebMethod()] public struct1 testStructBare(struct1 ddd){ return ddd; } } public class struct1{ public int i=1; public string j="ok"; public struct2 s2; private struct2 temp; public struct2 s4{ get{ return temp; } set{ temp=value; } } } public class struct2{ public String sField; } 当我们运行客户端代理请求SOAP 协议时,我们可以发现不同的参数风格有很大的区别,如使用Literal(默认)和Default 时,SOAP 协议客户端传输给服务端的XML 内容为: //参数名字 intstringstringstring 而使用Encoded 时, SOAP 协议客户端传输给服务端的XML 内容为: //a 为参数名,id 号指出该对象是复杂类型,并为链路 intstringstringstring 我们可以发现Encoded 时,SOAP 协议把对象和数组作为复杂类型同其他区分开来,并明确的指明每一个类型的名字。 如果是设置为Bare, SOAP 协议客户端传输给服务端的 XML 内容为: //dd 为参数名 intstringstringstring 我们将它与上面(如果不设置Bare,默认为wrapped)进行比较可以发现它少了一层。 而如果我们将Encoded 和Bare 一起来控制参数时,传输內容变成: //第一个参数 intstringstringstring 我们可以发现不仅少一层,而且id 号也变了。 我们不仅可以改变SOAP 协议参数传输的框架,也可以改变具体每一个元素的值,如:[XmlElement()]可以指定元素的名字和名字空间(namespace),如果指定了([ return: XmlElement("ReturnValueElement",IsNullable=fals e)] 和 [XmlElement("MyAddressElement")),则传输的內容变成: //指定的元素名字。 intstringstringstring 总之,我们可以根据XML 的序列化来控制SOAP 消息生成XML 內容的形式。
2023-09-03 13:31:301

我想知道 webservice 是不是一定要用soap 协议呢? 用java访问

一定要用SOAP,不一定用JAVA,不一定用HTTP
2023-09-03 13:31:442

GET,POST,SOAP哪个速度快?

soap协议是一个协议,post请求是请求,没有办法比较的东西。你是想问webservice请求和post的区别吧? WebService的请求,可以采用Get和post两种方式。Post只是Http协议的一部分,webService则是由Http协议之上发展而来,当然webservice可以支持soap协议总体来说Webservice请求和Post请求之间有交集,但是又各有不同
2023-09-03 13:31:531

RPC协议、http协议、tcp/ip协议、udp协议、socket协议以及soap协议都有什么相同点和不同点

  TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。  tcp和udp都是传输协议,主要区别是tcp协议连接需要3次握手,断开需要四次握手,是通过流来传输的,就是确定连接后,一直发送信息,传完后断开。udp不需要进行连接,直接把信息封装成多个报文,直接发送。所以udp的速度更快写,但是不保证数据的完整性和数据顺序,(这个是可以在实现时通过验证手段来手动确定完整性)。  http协议是建立在TCP协议之上的一种应用,是Web联网的基础,最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。  socket并不是一种协议,是在程序员层面上对TCP/IP协议的封装和应用。其实是一个调用接口,方便程序员使用TCP/IP协议栈而已。程序员通过socket来使用tcp/ip协议。但是socket并不是一定要使用tcp/ip协议,Socket编程接口在设计的时候,就希望也能适应其他的网络协议。  rpc是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。  初学情况下只要了解http协议和调用http协议,java使用httpClient,还有socket编程就好了。RPC我也了解的不多。
2023-09-03 13:32:061

推广助手里面提示soap信息不合法是什么意思

应该是你的系统部符合,会提示你安装一个软件,安装好以后就没有问题了!如果还解决不了建议截图看一下具体情况。
2023-09-03 13:32:293

REST和SOAP Web Service的区别比较

万维网联盟指出,REST是一个如何构建Web服务的模型。REST Web是WWW(基于HTTP)的子集,其中代理提供统一的接口语义,本质上是创建,检索,更新和删除,而不是任意或特定于应用程序的接口,并且仅通过交换表示来操纵资源。那么,现在我们知道REST是什么了,作者将简要列出Roy Fielding在其论文的第五章中提到的所有约束:客户端-服务器:以这样的方式实施服务:将用户界面关注点(客户端获得可移植性)与数据存储关注点(服务器获得可伸缩性)分离开来。无状态:在客户端和服务器之间实现通信时,服务器在处理请求时永远不会利用储存在服务器上下文中的任何信息,而与会话相关的所有信息都存储在客户端中。缓存:当可以(隐式或显式)缓存请求的响应时,客户端应获取缓存的响应。统一接口:所有REST服务都应依赖组件之间相同的统一设计。接口应与提供的服务解耦。分层系统:客户端永远不知道它们是直接连接到服务器还是连接到某些中间服务器。例如,请求可以通过代理,该代理具有负载平衡或共享缓存的功能。
2023-09-03 13:32:461

在SOAP协议客户端调试中出现28错误SOAP_DIME_END 28 End of DIME error,这是什么原因,怎么解决这个问题

有可能是服务端的ip错误,无法访问导致的
2023-09-03 13:33:211

webservice是基于soap协议的,在android端可以用okhttp建立连接吗

调用几主要:1.创建HttpTransportSE传输象:HttpTransportSE ht = new HttpTransportSE(SERVICE_URL); SERVICE_URLwebservice提供服务url2.使用SOAP1.1协议创建Envelop象:SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 设置SOAP协议版本号根据服务端WebService版本号设置3.实例化SoapObject象:SoapObject soapObject = new SoapObject(SERVICE_NAMESPACE, methodName); 第参数表示WebService命名空间WSDL文档找WebService命名空间第二参数表示要调用WebService名4.设置调用参数值没参数省略:例soapObject.addProperty("theCityCode", cityName);5.记设置bodyout属性 envelope.bodyOut = soapObject;6.调用webservice:ht.call(SERVICE_NAMESPACE+methodName, envelope);7.获取服务器响应返SOAP消息:SoapObject result = (SoapObject) envelope.bodyIn;SoapObject detail = (SoapObject) result.getProperty(methodName+"Result");
2023-09-03 13:33:301

Web Service, SOAP和WSDL的关系

最近项目做的东西比较多,一个不做Web的人也要开始看各种Web相关的东东了,hohoho...这几个概念最近一直在用,记录一下。总结和分析了各种的材料来源有这里的园子,WIKIPEDIA,百度百科,ESRI的文档库,还有身边有经验的同事。有些来自WIKI或者文档库的文章就不翻译了,原文表达的已经很到位了。 Web Service Web services provide the ability for applications to communicate using messaging over many different protocols. Because web services provide a means to communicate between applications that are written both in the same programming language as well as in different programming languages, a language neutral means of communication was needed. XML is the format used to hold the information carried between the applications. The XML message is carried using SOAP (Simple Object Access Protocol). SOAP defines the headers and the valid means for passing messages. That passing of messages usually takes place over HTTP but it can actually be over any well know protocol, such as SMTP, FTP, or DCOM. SOAP takes the xml message and wraps it so that it can be routed to the receiving application and appropriaptely processed. SOAP 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。 WIKIPEDIA : SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on XML for its message format, and usually relies on other Application Layer protocols, most notably Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission. 简单对象访问协议(SOAP)是W3C组织的一个Note, 它描述了一种在分散的或分布式的环境中如何交换信息的轻量级协议。SOAP是一个基于XML的协议,它包括三个部分:SOAP封装(Envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(Encoding Rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC Representation),表示远程过程调用和应答的协定;SOAP可以和多种传输协议绑定(Binding),使用底层协议交换信息。 SOAP 消息基本上是从发送端到接收端的单向传输,但它们常常结合起来执行类似于请求 / 应答的模式。所有的 SOAP 消息都使用 XML 编码。一条 SOAP 消息就是一个包含有一个必需的 SOAP 的封装包,一个可选的 SOAP 标头和一个必需的 SOAP 体块的 XML 文档。 SOAP在HTTP协议的基础上时,把编写成XML的REQUEST参数, 放在HTTP BODY上提交给WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。 SOAP也可以绑定到TCP和UDP协议上。 WSDL WSDL describes what a web service does, what methods it contains, what parameters and types it knows how to use, and which ports it is using for communication. The WSDL defines the valid contents of the XML messages to be passed over SOAP. The WSDL acts as a specification, like IDL, to describe the interfaces and parameters on a web service. The methods available are usually grouped together in a "port", which can be thought of as a view to web services where different operations are exposed. A WSDL can contain one or more ports. 关系总结 总之SOAP是一个结构化数据交换的一个协议规范,用于WebService。SOAP基于XML,由于HTTP协议的应用广泛支持(协议支持和80端口可达),多数SOAP应用是基于HTTP的。 SOAP是消息栈中位于HTTP协议之上的一层,Service调用达服务器后,TCP/IP层面,HTTP层面,SOAP协议层面依次逐级获取各自的Payload,程序结合WSDL描述的WebService结构信息,最终生成/得到相应的对象,发起调用。
2023-09-03 13:33:531

php 调用webservice函数 不用SoapClient 还有什么别的方法?

webservice有很多种,只有SOAP类型的webservice才使用SoapClient调用。其实SoapClient是对soap请求的封装。你也可以使用底层的接口来访问,不过这需要你了解SOAP协议,而且非常麻烦。有一个叫nusoap的库,可以方便地编写SOAP服务和SOAP请求,你可以了解一下。望采纳,谢谢支持!
2023-09-03 13:34:011

WebService和Webapi的区别

webapi用的是http协议,webservice用的是soap协议 webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作http soap关系http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。   WCF和WEB API我该选择哪个?   1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF 。  2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。   3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API 。  4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API。
2023-09-03 13:34:441

webservice调用方式http和soap的区别

 Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。个人以为就把webservice当成是Http这种请求和响应方式就可以处理大部分问题了。 SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。为了更好的理解SOAP,HTTP,XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。
2023-09-03 13:34:541

WebService和Webapi的区别20170819 10:07

webapi用的是http协议,webservice用的是soap协议 webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作http soap关系http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。WCF和WEB API我该选择哪个?1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web APISOAP:Simple Object Access Protocol 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。HTTP协议: 应用层 TCP协议 : 传输层
2023-09-03 13:35:041

WebService和Webapi的区别

Web Service:1、它是基于SOAP协议的,数据格式是XML2、只支持HTTP协议3、它不是开源的,但可以被任意一个了解XML的人使用4、它只能部署在IIS上Web API:1、这是一个简单的构建HTTP服务的新框架2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。5、它可以部署在应用程序和IIS上6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
2023-09-03 13:35:175

什麽是.net协议

TCP/IP、Http、Soap都是基本的通讯协议。楼主若是行内人士一定知道这些。这里我不妨多说几句。通讯协议即网络中(包括互联网、局域网)传递、管理信息的一些规范。常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议、SOAP协议等。在局域网中用得的比较多的是IPX/SPX。用户如果访问Internet,则必须在网络协议中添加TCP/IP协议。TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法.假设服务器、实现网络通信(比如聊天),不管你是.NET还是其他,一定要了解TCP/IP。在WEB编程中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器。HTTP协议就是实现客户端和服务器端的通讯。简单说就是请求与响应,你提交了什么,返回个什么都可以在HTTP里规范。举个例子,用户在WEB页上看到自己的客户端信息实际是HTTP的2次通讯。SOAP(Simple Object Access Protocal,简单对象访问协议) 技术有助于实现大量异构程序和平台之间的互操作性,根据我有限的了解,SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。比如我们.NET中的WEB服务,就是基于SOAP简单说就是这样,每一种通讯协议都很复杂,建议楼主多了解HTTP和SOAP。
2023-09-03 13:35:481

"SOAP WebService " 和 "RESTful WebService" 的区别和联系

SOAP(SimpleObjectAccessProtocol)简单对象访问协议,是基于HTTP的一种异构系统通信的协议,说白了就是xml文档传输,之所以会有它,就是在于不同语言C,C++,JAVA等语言开发的系统进行通信,是WebService就是基于SOAP协议的,确实是一种比较传统的SOA解决方案。REST(RerepresentationalStateTransfer)是外国一位博士提出的一种架构风格,从资源状态转换角度看待资源,但也是基于SOAP协议进行通信。rest是一种风格restfulWebservice和soap的区别在于表现形式不一样,如果想深入了解可以去开开深入理解Webservice这本书,restfulWebservice不只是可以用json也可以用xml更可以用html做消息返回,rest风格的Webservice和传统的soap主要的表现在于rest是将资源暴露soap是暴露操作。具体的流程其实和soap是一样的,但是rest更方便,更轻。
2023-09-03 13:35:571

webservie+soap+wsdl入门

使用天气调用的webservice进行学习 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL 最近因为一些特殊的需求需要提供一个基于 soap 的 webservice服务,之前没有经验,也不知道该怎么做,于是从网上查了很多东西,资料很多,但是大多不够详细,后来查到天气预报的webservice服务说明,算是看懂了一些,写在这里权做给大家做一个入门引导好了。 u2003u2003 u2003u2003我觉得这个webservice有着狭义和广义的定义. u2003u2003广义的来说,webservice差不多就是字面意思:web + service,也就是 服务(service)网络(web)化的意思。他力求的是跨语言,跨平台的,基于web传输的远程调用能力。他没有强调远程调用使用什么协议,所以你可以自由选择,比如soap 协议(可与基于http,smtp,等各种传输协议),或者常见的基于http的json化的数据传输协议,基于dubbo协议的dubbo服务调用都属于web service的一种实现。 u2003u2003狭义的来说,这个首先声明,是我参考网上的资料已经自身的一些经历的解读哈。我认为大家经常谈的webservice是指基于soap协议实现的远程服务调用模型。 u2003u2003saop定义了数据交互中如何传递消息的规则。比如在http中规定了post请求的传参方式,在数据类型不同的情况下可以使用不同的参数方式。在form格式下是 key=v&key1=v1 ,同样soap也是定义这些东西的。 u2003u2003同样的,当我们用http方式去调用一个服务的时候我们只是知道通用的http协议的传参方式还是不够的,我们仍然需要知道目标服务的接口文档,对了,这就是wsdl,每个服务都有的接口文档,在http上可能就是我们手写的一个wiki文档,在soap中就是一个用wsdl规范编写的wsdl文档,每个服务是有能力自动生成这个文档的。wsdl规范了这个文档应该怎么写。 综上所述:soap可以类比http协议,wsdl可以类比一个http服务的接口文档。 这次用的一个比较常用的文档就是天气预报的webservice服务来进行学习 链接: http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 对应的是这个文档的可读性更强的介绍,他的实际接口文档是 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL 这篇接口文档实际上是有多个接口的描述,当然,我们这里只取一个来进行描述,取的接口是 getWeatherbyCityName http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?op=getWeatherbyCityName 这个页面有详细的请求体和返回结果,很具体。下面我们就从他的实际接口文档wsdl中来分析一下都有什么东西。 我们知道wsdl文档包含了这么几个部分 下面我们使用getWeatherbyCityName这个接口在总的xml对应的部分做说明,将xml提取出来如下 还请学习下面的文档的时候参考 对应的可视化文档 进行对比 截取自 这里 getWeatherbyCityName 以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。 以下是 SOAP 1.2 请求和响应示例。所显示的占位符需替换为实际值。 以下是 HTTP GET 请求和响应示例。所显示的占位符需替换为实际值。 以下是 HTTP POST 请求和响应示例。所显示的占位符需替换为实际值。
2023-09-03 13:36:161

Soap接口和webservice接口的区别是什么

去专业社区问吧 51doccsdn
2023-09-03 13:36:273

WebAPI 和 webservice的区别

webapi用的是http协议,webservice用的是soap协议webapi无状态,相对webservice更轻量级。webapi支持如get,post等http操作http soap关系http:是一个客户端和服务器端请求和应答的标准(TCP)。http协议其目的是为了提供一种发布和接收htttp页面的方法一http协议的客户端与服务器的交互:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如”HTTP/1.1 200 OK”,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。不同:都是底层的通信协议,请求包的格式不同而已,soap包是XML格式,http纯文本格式。关系:SOAP是个通信协议, SOAP在HTTP协议的基础上,把编写成XML的REQUEST参数, 放在HTTP BODY上提交个WEB SERVICE服务器(SERVLET,ASP什么的) 处理完成后,结果也写成XML作为RESPONSE送回用户端, 为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。WCF和WEB API我该选择哪个?1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web APISOAP:Simple Object Access Protocol简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。HTTP协议: 应用层TCP协议 : 传输层HTTP协议详解之响应篇在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文1、状态行格式如下:HTTP-Version Status-Code Reason-Phrase CRLF其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息–表示请求已接收,继续处理2xx:成功–表示请求已被成功接收、理解、接受3xx:重定向–要完成请求必须进行更进一步的操作4xx:客户端错误–请求有语法错误或请求无法实现5xx:服务器端错误–服务器未能实现合法的请求常见状态代码、状态描述、说明:200 OK //客户端请求成功400 Bad Request //客户端请求有语法错误,不能被服务器所理解401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用403 Forbidden //服务器收到请求,但是拒绝提供服务404 Not Found //请求资源不存在,eg:输入了错误的URL500 Internal Server Error //服务器发生不可预期的错误503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常eg:HTTP/1.1 200 OK (CRLF)2、响应报头后述3、响应正文就是服务器返回的资源的内容
2023-09-03 13:36:371

什么是 RESTful 到底 REST 和 SOAP,RPC 有何区别

第一个问题:什么是RESTful?REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。有兴趣可以看看这里论文`,谁是Fielding?点击前面名字了解。那RESTful到底是什么呢?简单的讲,它是:一种架构设计风格,提供了设计原则和约束条件,而不是架构。而满足这些约束条件和原则的应用程序或设计就是 RESTful架构或服务。推荐阅读:张善友博客——REST 入门介绍infoq——深入浅出REST第二个问题:到底 REST 和 SOAP、RPC 有何区别?这个问题比较大,要知道他们有什么区别首先需要明白,他们分别是什么?REST上面已经简单的说明了它是什么。SOAP(简单对象访问协议)是什么?SOAP是一种数据交换协议规范,是一种轻量的、简单的、基于XML的协议的规范。它有什么优点?简单总结为: 易用,灵活,跨语言,跨平台。易用:是因为它的消息是基于xml并封装成了符合http协议,因此,它符合任何路由器、 防火墙或代理服务器的要求。灵活:表现在极具拓展性,SOAP 无需中断已有的应用程序, SOAP 客户端、 服务器和协议自身都能发展。而且SOAP 能极好地支持中间介质和层次化的体系结构。跨语言:soap可以使用任何语言来完成,只要发送正确的soap请求即可。跨平台:基于soap的服务可以在任何平台无需修改即可正常使用。RPC(远程调用框架) 是一种允许分布式应用程序调用网络上不同计算机的可用服务的机制。涉猎不多,一下省略256个字。有熟悉的朋友可以在评论补充,然后我会修改到该内容中去从上面我们可以看出,REST 和 SOAP、RPC 有何区别呢?没什么太大区别,他们的本质都是提供可支持分布式的基础服务,最大的区别在于他们各自的的特点所带来的不同应用场景。REST可以看着是http协议的一种直接应用,默认基于json作为传输格式,使用简单,学习成本低效率高,~~但是安全性较低~~,而SOAP可以看着是一个重量级的协议,基于xml,SOAP在安全方面是通过使用XML-Security和XML-Signature两个规范组成了WS-Security来实现安全控制的,当前已经得到了各个厂商的支持,.net ,php ,java 都已经对其有了很好的支持 。这是REST薄弱的地方。
2023-09-03 13:36:461

WebService与WebApi的区别

1 基于SOAP协议的,数据格式为XML 2 只支持HTTP协议 3 不是开源的,但可以被任意一个了解XML的人使用 4 只能部署在IIS上 SOAP :简单对象访问协议Simple Object Access Protocol,传输层 ,,XML传输消息 WSDL :Web Server Description Language :Web Server描述语言(元数据),给客户端生成代理类的一个描述信息 UDDI :提供了一组基于标准的规范用于描述和发现服务,统一描述,发现和集成(UDDI-Universal Descript,Discovery,Integration),提供注册和查找服务 客户端在UDDI注册表(Registry)查找服务,取得服务的WSDL描述,通过SOAP调用服务。 1 是简单的 构建HTTP服务的新框架 2 在.net平台上WebApi是一个开源的,理想的,构建REST-FUL服务的技术 3 不想WCF REST Server 它可以使用HTTP的全部特点(URI,request/response头,缓存,版本控制,多种内容格式) 4 支持MVC的特征。像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。 4 可以部署在IIS和应用程序上 6 轻量级框架,并且对限制带宽的设备,比如智能手机等支持的很好 7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。 8、Web API非常适合构建移动客户端服务 1、 需要Web Service但是不需要SOAP 2、 需要在已有的WCF服务基础上建立non-soap-based http服务 3、 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置 4、 发布的服务可能会被带宽受限的设备访问 5、 希望使用开源框架,关键时候可以自己调试或者自定义一下框架 6、如果服务需要在http协议上,并且希望利用http协议的各种功能 7、如果服务需要被各种客户端(特别是移动客户端)调用 webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下 webservice也可以应用于webapi所在的场景,一般是做为内部服务的使用,好比如果一个系统用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求。
2023-09-03 13:36:531

web service接口 wsdl和asmx有什么区别

 Web service一般就是用SOAP协议通过HTTP来调用它,其实他就是一个WSDL文档,客户都可以阅读WSDL文档来用这个Web service。客户根据WSDL描述文档,会生成一个SOAP请求消息。Web service都是放在Web服务器 (如IIS) 后面的,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到Web服务器来。Web服务器再把这些请求转发给Web service请求处理器。请求处理器的作用在于,解析收到的SOAP请求,调用Web service,然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。个人以为就把webservice当成是Http这种请求和响应方式就可以处理大部分问题了。 SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对自己来说很重要,那么应该多考虑其它的方式,而不要用 SOAP。为了更好的理解SOAP,HTTP,XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。
2023-09-03 13:37:111

php SoapClient 是什么

http://baike.baidu.com/view/2099744.htm
2023-09-03 13:37:275

webservice接口和http(httpclient)接口区别

webservice接口和http(httpclient)接口区别 两种常用协议方式: 1、基于不同协议:HTTPService基于http协议,而WebService基于soap协议; 2、处理数据效率不同:HTTPService效率较高,WebService能处理较复杂的数据类型。 http协议支持客户/服务器模式,简单快速,客户向服务器请求服务时,只需传送请求方法和路径灵活,http允许传输任意类型的数据对象。无连接,即限制每次连接只处理一个请求,可以节省传输时间。 3、跨域的处理:HttpService方式不能处理跨域,如果调用一个其它应用的服务就要用webService 简单说 httpservice通过post和get得到你想要的东西 webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型。 当你要调用一个你本服务的内容的时候,不涉及到跨域的问题,你可以使用HttpService的方式。 如果,你需要在后台调用一个其它应用的服务,这个时候,你必须要用webService的方式来调用。
2023-09-03 13:38:061

soap描述中p值是指

SOAP是SimpleObjectAccessProtocol(简单对象访问协议)的缩写。SOAP是一个用于分布式环境的、轻量级的、基于XML进行信息交换的通信协议。对于Soap的理解:SOAP=HTTP+XML、SOAP把XML的使用代码化为请求和响应参数编码模式,并用HTTP作传输。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。具体地讲,一个SOAP实现可以简单地看作遵循SOAP编码规则的HTTP请求和响应。注意:SOAP是一个协议,与编程语言无关。实际上,许多语言已经开始支持SOAP,如:Java,C,C++以及JavaScript。扩展资料SOAP最初由微软发起研究,用以解决MTS/COM资源消耗大,不够轻巧等问题,后逐渐被IBM等巨头接纳并加入研究,现已提交W3C,成为WebService应用传输标准。SOAP技术主要用于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP意思是简单对象访问协议(SimpleObjectAccessProtocol)。的确如它的名字一样,SOAP是很简单的。它是一个基于XML的协议,允许程序组件和应用程序彼此使用一种标准的Internet协议--HTTP来通讯。SOAP是一种独立的平台,它不依赖程序语言,它是简单的,弹性的,很容易扩展的。目前,应用程序能够彼此使用一种基于DCOM和CORBA技术的远程过程调用(RPC)来进行相互通讯,但HTTP不被设计为这个目的。RPC在Internet上应用是非常困难的,它们会出现许多兼容性和安全性的问题,因为防火墙和代理服务器通常都会阻断(block)这些类型的流量。应用程序之间最好的通讯方式是通过HTTP协议,因为HTTP是支持所有Internet浏览器和服务器的。基于这个目的,SOAP协议被创建出来。
2023-09-03 13:38:142

soap 和webservice的区别

SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议;RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户经过防火墙在INTERNET进行通讯交互。RPC的描叙可能不大准确,因为SOAP一开始构思就是要实现平台与环境的无关性和独立性,每一个通过网络的远程调用都可以通过SOAP封装起来,包括DCE(Distributed Computing Environment ) RPC CALLS,COM/DCOM CALLS, CORBA CALLS, JAVA CALLS,etc。SOAP 使用 HTTP 传送 XML,尽管HTTP 不是有效率的通讯协议,而且 XML 还需要额外的文件解析(parse),两者使得交易的速度大大低于其它方案。但是XML 是一个开放、健全、有语义的讯息机制,而 HTTP 是一个广泛又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。但是如果效率对你来说很重要,那么你应该多考虑其它的方式,而不要用 SOAP。为了更好的理解SOAP,HTTP,XML如何工作的,不妨先考虑一下COM/DCOM的运行机制,DCOM处理网络协议的低层次的细节问题,如PROXY/STUB间的通讯,生命周期的管理,对象的标识。在客户端与服务器端进行交互的时候,DCOM采用NDR(Network Data Representation)作为数据表示,它是低层次的与平台无关的数据表现形式。
2023-09-03 13:38:441

有没有方法在使用SOAP协议传递Message的时候去掉Header和body标签

SOAP协议规范 1. 简介 SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程 模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据
2023-09-03 13:38:531

工业以太网的相关协议

1、支持MQTT 、SOAP协议(webservice)物联网协议;MODBUS RTU、 MODBUS TCP协议;XL/6N-RF-UDP、XL/6N-G2-UDP信立物联网协议;XL/9G-E-WD、XL/9G-E-RDS信立协议,直接和SQL Sever、MY SQL等数据库交换数据,或通过Redis存储方式发布数据;2、支持电力DL/T645-1997、DL/T-645-2007、IEC60870-5-101、102、103、104等协议;3、支持FF,HART等协议的智能设备交换数据;并提供用户自定义协议。
2023-09-03 13:39:032

一个计算机系统为Linux一个计算机系统为Windows他们两个计算机能否进行通信?

可以进行通信,例如使用TCP/IP协议,或者UDP协议进行通信。
2023-09-03 13:39:183

什么是HTTP协议

HTTP 协议简单介绍HTTP协议是一个超文本传输协议,它是基于TCP/IP进行通信协议来进行数据传递特点: 1. 简单快速,客户端向服务器端发起请求时,只需传输请求方法和路径。请求方法常用的有POST、GET等。每个方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,所以通信速度快 2. 灵活:可以传输任意类型的数据对象。传输类型由Content-Type加以标记 3. 无连接:限制每次连接只处理一个请求。服务器处理完客户端的请求,在收到客户端的应答之后便会断开连接 4. 无状态:HTTP是无状态协议。无状态指的是协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样可能导致每次连接传送的数据量增大,另一个方面,在服务器不需要其他信息的时候它的应答就会很迅速 5. 支持B/S以及C/S模式URLURL是HTTP使用的统一资源标识符,来传输数据以及建立连接。URL是一种特殊类型的URI,全称为UniformResourceLocator,中文名为统一资源定位符,URL包含以下几个部分: 如:https://baike.baidu.com:8080/item/url/110640?fr=aladdin 1. 协议/模式部分:它告诉浏览器如何处理将要打开的文件。最常用的模式是超文本传输协议(Hypertext Transfer Protocol,缩写为HTTP),这个协议可以用来访问网络。其他协议如下: http——超文本传输协议资源 https——用安全套接字层传送的超文本传输协议 ftp——文件传输协议 mailto——电子邮件地址 ldap——轻型目录访问协议搜索 file——当地电脑或网上分享的文件 news——Usenet新闻组 gopher——Gopher协议 telnet——Telnet协议 在上面的例子中协议部分就是https 2. 域名部分:上面的域名即为:baike.baidu.com 3. 端口部分:跟在域名后面的即为端口号,端口跟域名之间使用:分割,端口不是一个URL必须的部分,如果省略端口号,就会采用默认端口 4. 文件名部分:/item/url/110640 5. 参数部分:fr=aladdin,即问号后面RequestHTTP的请求消息Request主要有以下几个部分组成: * 请求行 : 请求方法 | URL | 协议版本 * 请求头部 :请求头包含许多有关的客户端环境和请求正文的有用信息 * 请求正文 : 请求头和请求正文之间是一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。请求正文中可以包含客户提交的查询字符串信息ResponseHTTP响应消息Response由以下几个部分组成: * 状态行 : 协议版本 | 状态码 | 状态消息 * 响应报头 : Date 、Content-Type等等 * 响应正文 : 服务器端返回数据状态码状态码由三位数字组成,第一个数字定义了响应的类别 * 1xx:指示消息,表示请求已接收,继续处理 * 2xx:成功,表示请求已被成功接收 * 3xx:重定向,表示要晚上请求必须更进一步的操作 * 4xx:客户端错误,表示请求有语法错误或者无法实现 * 5xx:服务端错误,表示服务器端未能实现合法的请求常见状态码:200 - ok - 请求成功400 - Bad Request - 客户端请求有语法错误,不能被服务器理解401 - Unauthorized - 请求未经授权403 - Forbidden - 服务器收到请求,但是拒绝提供服务404 - Not Found - 请求资源不存在500 - Internal Server Error - 内部服务器错误503 - Server Unavaliable - 服务器不可用请求方法HTTP 1.0 定义了三种请求方法 :GET、POST、HEADHTTP 1.1 新增了五种请求方法 :OPTIONS、PUT、DELETE、TRACE、CONNECTGET - 请求指定的页面信息,并返回实体主体HEAD - 类似于GET请求,但是返回的只有报头POST - 向指定的资源提交数据进行处理请求PUT - 从客户端向服务器传送的数据取代指定文件的内容DELETE - 请求服务器删除指定的页面CONNECT - HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。OPTIONS - 允许客户端查看服务器性能TRACE - 回显服务器收到的请求,主要用于测试或诊断。GET与POST的区别数据提交:GET的请求数据会放在URL之后,使用&号进行连接,但POST的请求数据会放在HTTP包内传输数据大小:由于一般的浏览器对于URL的长度是有限制的,所以使用GET请求数据会收到大小的限制,但是POST是将数据放在包内,即没有大小限制安全性:GET提交数据在URL中,可以被缓存从而回去数据注: 1. HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。 2. HTTP的 GET,POST,SOAP协议都是在http上运行的(1)GET:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的 查询字符串的长度受到web浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集同时,它很不安全(2)POST:请求参数是在http标题的一个不同部分(名为entity body)传输的,这一部分用来传输表单信息,因此必须将Content-type设置为:application/x-www-form- urlencoded。post设计用来支持web窗体上的用户字段,其参数也是作为key/value对传输。 但是:它不支持复杂数据类型,因为post没有定义传输数据结构的语义和规则。(3)SOAP:是http post的一个专用版本,遵循一种特殊的xml消息格式 Content-type设置为: text/xml 任何数据都可以xml化。HTTP协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.
2023-09-03 13:39:381

下列关于网络协议的说法正确的是?

B
2023-09-03 13:39:495

求高人解惑,webservice到底是什么?

Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。SOAP:Simple Object Access Protocol) 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。 SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
2023-09-03 13:40:104

microsoft SOAP Toolkit 3.0是什么

SOAP作为一种协议,同服务端Web Service进行通讯。微软提供了SOAP协议的SDK,SOAP Toolkit3.0是基于COM的一套SOAP开发组件。 Microsoft SOAP Toolkit 3.0 提供一个灵活的框架,可以为各种 Intranet 和 Internet 解决方案构建可伸缩的 Web 服务。在这两种方案中,安全性都是建立可靠服务的重要因素。SOAP Toolkit 3.0 支持基于 IIS 安全基础结构的 Internet 安全性。本文介绍了如何使用 Microsoft SOAP Toolkit 2.0 建立安全解决方案。 简言之使用 Microsoft SOAP Toolkit 3.0 建立安全 Web 服务
2023-09-03 13:40:271

WebService和Webapi的区别

Web Service特征1、它是基于SOAP协议的,数据格式是XML2、只支持HTTP协议3、它不是开源的,但可以被任意一个了解XML的人使用4、它只能部署在IIS上Web API特征(红色标记与WebService区别)1、这是一个简单的构建HTTP服务的新框架2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮5、它可以部署在应用程序和IIS上6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。8、Web API非常适合构建移动客户端服务以下情况可以考虑用Web API1、 需要Web Service但是不需要SOAP2、 需要在已有的WCF服务基础上建立non-soap-based http服务3、 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置4、 发布的服务可能会被带宽受限的设备访问5、希望使用开源框架,关键时候可以自己调试或者自定义一下框架6、如果服务需要在http协议上,并且希望利用http协议的各种功能7、如果服务需要被各种客户端(特别是移动客户端)调用小结(仅供参考)总体来说,两者都是服务,只是表现形式存在一些差异webapi多用于基于http请求的服务应用,比如说移动服务端或者需要提供第三方API 服务的场景下webservice也可以应用于webapi所在的场景,但是如果是我的选择,我一般是做为内部服务的使用,好比如果一个系统我会用wcf/webservice作为内部子系统间的服务通信,而webapi用于外部服务的请求~
2023-09-03 13:40:561

如何使用PHP调用ArcGIS Server的Soap接口

ExportMapImage"catchment_MapServer.php");$catchment_MapServer = new catchment_MapServer();$MapDescription = new MapDescription();$MapName = new GetMapName();$MapName->Index = 0;$MapNameResponse= new GetMapNameResponse();$MapNameResponse = $catchment_MapServer->GetMapName($MapName);//var_dump($MapNameResponse);$ServerInfo = new GetServerInfo();$ServerInfo->MapName = $MapNameResponse->Result;$ServerInfoResponse = new GetServerInfoResponse();$ServerInfoResponse = $catchment_MapServer->GetServerInfo($ServerInfo);//var_dump($ServerInfoResponse);$ExportMapImage = new ExportMapImage();$MapDescription = new MapDescription();$ImageDescription = new ImageDescription();$MapDescription = $ServerInfoResponse->Result->DefaultMapDescription;$ExportMapImage->MapDescription = $MapDescription;$ImageType = new ImageType();$ImageType->ImageFormat = esriImageFormat::esriImagePNG;$ImageType->ImageReturnType = esriImageReturnType::esriImageReturnURL;$ImageDescription->ImageType = $ImageType;$ImageDisplay = new ImageDisplay();$ImageDisplay->ImageHeight = 500;$ImageDisplay->ImageWidth = 500;$ImageDisplay->ImageDPI = 96;$ImageDescription->ImageDisplay = $ImageDisplay;$ExportMapImage->ImageDescription = $ImageDescription;$ExportMapImageResponse = new ExportMapImageResponse();$ExportMapImageResponse = $catchment_MapServer->ExportMapImage($ExportMapImage);//var_dump($ExportMapImageResponse);$image = imagecreatefrompng($ExportMapImageResponse->Result->ImageURL);if($image != false){ header("Content-Type: image/png"); imagepng($image); imagedestroy($image);}else{ echo "An error occurred.";}?>2. FromMapPoints"catchment_MapServer.php");$catchment_MapServer = new catchment_MapServer();$MapDescription = new MapDescription();$MapName = new GetMapName();$MapName->Index = 0;$MapNameResponse= new GetMapNameResponse();$MapNameResponse = $catchment_MapServer->GetMapName($MapName);$ServerInfo = new GetServerInfo();$ServerInfo->MapName = $MapNameResponse->Result;$ServerInfoResponse = new GetServerInfoResponse();$ServerInfoResponse = $catchment_MapServer->GetServerInfo($ServerInfo);$MapDescription = $ServerInfoResponse->Result->DefaultMapDescription;$ImageDisplay = new ImageDisplay();$ImageDisplay->ImageHeight = 500;$ImageDisplay->ImageWidth = 500;$ImageDisplay->ImageDPI = 96;$ToMapPoints = new ToMapPoints();$XScreenPoints = array(10);$YScreenPoints = array(10);$ToMapPoints = new ToMapPoints();$ToMapPoints->MapDescription = $MapDescription;$ToMapPoints->MapImageDisplay = $ImageDisplay;$ToMapPoints->ScreenXValues = $XScreenPoints;$ToMapPoints->ScreenYValues = $YScreenPoints;$ToMapPointsResponse = new ToMapPointsResponse();$ToMapPointsResponse = $catchment_MapServer->ToMapPoints($ToMapPoints);var_dump($ToMapPointsResponse);?>3. ToMapPointsinclude ("catchment_MapServer.php");$catchment_MapServer = new catchment_MapServer();$MapDescription = new MapDescription();$MapName = new GetMapName();$MapName->Index = 0;$MapNameResponse= new GetMapNameResponse();$MapNameResponse = $catchment_MapServer->GetMapName($MapName);$ServerInfo = new GetServerInfo();$ServerInfo->MapName = $MapNameResponse->Result;$ServerInfoResponse = new GetServerInfoResponse();$ServerInfoResponse = $catchment_MapServer->GetServerInfo($ServerInfo);$MapDescription = $ServerInfoResponse->Result->DefaultMapDescription;$ImageDisplay = new ImageDisplay();$ImageDisplay->ImageHeight = 500;$ImageDisplay->ImageWidth = 500;$ImageDisplay->ImageDPI = 96;$ToMapPoints = new ToMapPoints();$XScreenPoints = array(10);$YScreenPoints = array(10);$ToMapPoints = new ToMapPoints();$ToMapPoints->MapDescription = $MapDescription;$ToMapPoints->MapImageDisplay = $ImageDisplay;$ToMapPoints->ScreenXValues = $XScreenPoints;$ToMapPoints->ScreenYValues = $YScreenPoints;$ToMapPointsResponse = new ToMapPointsResponse();$ToMapPointsResponse = $catchment_MapServer->ToMapPoints($ToMapPoints);$MultipointN = new MultipointN();$MultipointN = $ToMapPointsResponse->Result;$PointArray = $MultipointN->PointArray;foreach($PointArray as $Point){printf("The Map X Value is %f, The Map Y Value is %f",$Point->X,$Point->Y);}?>
2023-09-03 13:41:062

使用soap访问服务器,为什么获取到服务器的响应数据为null

下面是向远处服务器进行请求的详细操作类WebServiceUtilJava代码public class WebServiceUtil { //命名空间 private static final String NAMESPACE = "http://WebXml.com.cn/"; //WebService地址 private static final String URL = "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl"; //需要调用的方法名 private static final String getSupportProvince = "getSupportProvince"; /** * @desc 获得洲、国内外省份和城市信息 * @return 省份列表 */ public List getAllProvince() { List allProvince = new ArrayList(); try { //1.实例化SoapObject对象 SoapObject request = new SoapObject(NAMESPACE, getSupportProvince); //2.如果方法需要参数,设置参数 //request.setProperty("参数名称", "参数值"); //3.设置Soap的请求信息,参数部分为Soap协议的版本号 SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.bodyOut = request; //4.构建传输对象 AndroidHttpTransport transport = new AndroidHttpTransport(URL); transport.debug = true; //5.访问WebService,第一个参数为命名空间 + 方法名,第二个参数为Envelope对象 transport.call(NAMESPACE + getSupportProvince, envelope); //6.解析返回的数据 SoapObject result = (SoapObject) envelope.getResponse(); int count = result.getPropertyCount();
2023-09-03 13:41:161

http接口和webservice接口的区别在哪?

web service(SOAP)与HTTP接口的区别什么是web service? soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content-type设置为: text/xml任何数据都可以xml化。为什么要学习web service? 大多数对外接口会实现web service方法而不是http方法,如果你不会,那就没有办法对接。web service相对http (post/get)有好处吗?1.接口中实现的方法和要求参数一目了然2.不用担心大小写问题3.不用担心中文urlencode问题4.代码中不用多次声明认证(账号,密码)参数5.传递参数可以为数组,对象等...web service相对http(post/get)快吗?由于要进行xml解析,速度可能会有所降低。web service 可以被http(post/get)替代,而且现在的开放平台都是用的HTTP(post/get)实现的。
2023-09-03 13:41:373

REST URL与SOAP URL有什么区别???

rest接口和soap接口是完全不同的两种数据通信接口前者使用的是http协议通信,请求的相应值可以是xml也可以是json后者使用的是soap协议通信,通信请求和相应都是xml,而且有wsdl作为请求和相应信息的标准
2023-09-03 13:42:351

webservice的优缺点

优势: 1、它的跨平台; 2、并且SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持; 3、 由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火墙为了程序而单独开一个“漏洞”; 4、此外,WebService实现的技术难度要比CORBA和DCOM小得多; 5、要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上; 6、在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。 缺点: 1、WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。 2、WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,不如CORBA。
2023-09-03 13:42:432