webservice中xsd和wsdl和soap的含义
XSD
WebService采⽤HTTP协议传输数据,采⽤XML格式封装数据(即XML中说明调⽤远程服务对象的哪个⽅法,传递的参数是什么,以及服务对象的返回结果是什么)。XML是WebService平台中表⽰数据的格式。除了易于建⽴和易于分析外,XML主要的优点在于它既是平台⽆关的,⼜是⼚商⽆关的。⽆关性是⽐技术优越性更重要的:软件⼚商是不会选择⼀个由竞争对⼿所发明的技术的。
XML解决了数据表⽰的问题,但它没有定义⼀套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16位,32位,64位?这些细节对实现互操作性很重要。
网络上xml是什么意思XML Schema(XSD)就是专门解决这个问题的⼀套标准。它定义了⼀套标准的数据类型,并给出了⼀种语⾔来扩展这套数据类型。WebService平台就是⽤XSD来作为其数据类型系统的。当你⽤某种语⾔(如VB.NET或C#)来构造⼀个Web service时,为了符合WebService标准,所有你使⽤的数据类型都必须被转换为XSD类型。你⽤的⼯具可能已经⾃动帮你完成了这个转换,但你很可能会根据你的需要修改⼀下转换过程。
SOAP
WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采⽤XML格式封装,并增加了⼀些特定的HTTP消息头,以说明HTTP消息的内容格式,这些特定的HTTP消息头和XML内容格式就是SOAP协议。SOAP提供了标准的RPC⽅法来调⽤Web Service。
SOAP协议 = HTTP协议 + XML数据格式
SOAP协议定义了SOAP消息的格式,SOAP协议是基于HTTP协议的,SOAP也是基于XML和XSD的,XML是SOAP的数据编码⽅式。打个⽐喻:HTTP就是普通公路,XML就是中间的绿⾊隔离带和两边的防护栏,SOAP就是普通公路经过加隔离带和防护栏改造过的⾼速公路。
WSDL
好⽐我们去商店买东西,⾸先要知道商店⾥有什么东西可买,然后再来购买,商家的做法就是张贴⼴告海报。 WebService也⼀
样,WebService客户端要调⽤⼀个WebService服务,⾸先要有知道这个服务的地址在哪,以及这个服务⾥有什么⽅法可以调⽤,所
以,WebService务器端⾸先要通过⼀个WSDL⽂件来说明⾃⼰家⾥有啥服务可以对外调⽤,服务是什么(服务中有哪些⽅法,⽅法接受的参数是什么,返回值是什么),服务的⽹络地址⽤哪个url地址表
⽰,服务通过什么⽅式来调⽤。
WSDL(Web Services Description Language)就是这样⼀个基于XML的语⾔,⽤于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,⼜是⼈可阅读的,这将是⼀个很⼤的好处。⼀些最新的开发⼯具既能根据你的Web service⽣成WSDL⽂档,⼜能导⼊WSDL⽂档,⽣成调⽤相应WebService的代理类代码。
WSDL⽂件保存在Web服务器上,通过⼀个url地址就可以访问到它。客户端要调⽤⼀个WebService服务之前,要知道该服务的WSDL⽂件的地址。WebService服务提供商可以通过两种⽅式来暴露它的WSDL⽂件地址:1.注册到UDDI服务器,以便被⼈查;2.直接告诉给客户端调⽤者。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论