[英]regarding webservices
我最近开始学习有关Web服务的知识。 有几个问题:
对于Web服务,是否总是需要源代码提供wsdl或任何其他可能的方式来使用它而不需要wsdl?
直到不久前,我还在经典的ASP中进行服务器端XMLhttp的发布,以对外部应用程序进行修改并从外部应用程序向我的应用程序中推送数据。 我很困惑-是与webservice完全不同还是可以称为某种webservice(当然不基于SOAP)。 有什么主要区别,或者仅仅是协议区别(通过Web服务和服务器端XMLhttp发布)?
可以使Web服务异步化吗(类似于通过javascript进行AJAX调用)
是否有任何其他类型的Web服务? (例如,bw,提供股票报价的网络服务和Google提供的网络服务是否存在差异)
1.对于Web服务,是否总是需要源提供wsdl或其他任何可能的方式来使用它而不需要wsdl?
WSDL
是发布接口的文档。 只要客户端遵守该接口,就可以保证能够与Web服务“对话”。 话虽如此,当有很多利益相关者时, WSDL
是规范的一种正式方式。 只要您以某种方式知道Web服务的期望,就可以不进行任何操作。 只需将应用程序数据包装在SOAP
信封中,然后将其发送到Web服务即可。 只要您发送Web服务期望的内容(在SOAP
信封或应用程序数据中)并且以期望的方式发送(例如,传输HTTP
等),对于WS
来说就无关紧要,无论是否使用WSDL
。
2.直到不久前,我还在经典的ASP中进行服务器端XMLhttp发布,以对外部应用程序进行修改并从外部应用程序将数据推送到我的应用程序中。 我很困惑-是与webservice完全不同还是可以称为某种webservice(当然不基于SOAP)。 有什么主要区别,或者仅仅是协议区别(通过Web服务和服务器端XMLhttp发布)?
简单来说,Web服务是基于某些应用程序协议(通常是HTTP
)的XML
。 可以基于SOAP
或REST
。 要了解更多信息,您应该阅读有关Service Oriented Applications
3.Web服务可以异步吗?(通过javascript进行AJAX调用)
他们可以,但是要复杂得多。
4.是否有不同类型的Web服务? (例如,bw,提供股票报价的网络服务和Google提供的网络服务是否存在差异)
不知道您在这里问什么。 每个Web服务都提供一些东西。
我将在这里尝试变得非常简单:
W3C将“ Web服务”定义为“旨在支持网络上可互操作的机器对机器交互的软件系统”。
这意味着任何软件要成为Web服务的首要条件是它不应该依赖平台或软件,即,在Windows上的.net堆栈中的客户端或在Android上的Java堆栈中的客户端都可以使用Java堆栈上的Web服务。
Web服务的类型
实际上,对Web服务的类型没有整体和明确的分类。 但是最受欢迎的两个是:
基于SOAP的Web服务 。 :它使用遵循简单对象访问协议(SOAP)标准的XML消息,该标准是一种定义消息体系结构和消息格式(WSDL)的XML语言。
基于REST的Web服务 。 随着WEb 2.0的发展,重点已经从基于SOAP的服务转移到基于表示状态传输(REST)的通信。[3] REST服务不需要XML,SOAP或WSDL服务API定义。 在此处阅读以轻松了解REST
需要WSDL来使用SOAP Web服务吗?
要使用SOAP服务,我们只需要SOAP端点和XML消息格式。 WSDL是通过Java和.NET SOAP框架自动生成客户端代码的先决条件。
异步Web服务
使Web服务异步是可能的,但是复杂性取决于所使用的框架,例如JAVA中的AXIS2可以轻松实现这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.