我最近开始学习网络服务。对此几乎没有疑问:
对于webservice,源是否应该提供wsdl或其他任何可能的方式来使用它而不需要wsdl?
一段时间以前,我在经典ASP中做服务器端XMLhttp帖子,在外部应用程序中进行修改。从外部应用程序推送我的应用程序中的数据。我很困惑 - 这与webservice非常不同,或者可以被称为某种web服务(当然不基于SOAP)。任何重大差异或只是协议差异bw webservice和服务器端XMLhttp帖子?
Web服务可以异步吗?(通过javascript调用AJAX)
是否有任何不同类型的网络服务? (例如,有差异bw,网络服务提供股票报价和谷歌提供的网络服务)
答案 0 :(得分:0)
1.对于webservice,源代码是否总是需要提供wsdl或任何其他方式来使用它而不需要wsdl?
WSDL
是一个发布界面的文档。只要客户端符合接口,就可以保证能够与Web服务“对话”。已经说过WSDL
是一个规范的正式方式,当有许多利益相关者时。只要您以某种方式了解Web服务所期望的内容,您就可以在没有任何内容的情况下继续。只需将应用程序数据包装在SOAP
信封中,然后将其发送到Web服务即可。只要您发送Web服务期望的内容(在SOAP
信封或应用程序数据中)以及预期的方式,例如传输HTTP
等。WS
如果您使用了WSDL
则无关紧要。
2.就在不久之前,我在经典ASP中做服务器端的XMLhttp帖子,在外部应用程序中进行修改。推送我的数据 从外部应用程序申请。我很困惑 - 就是这样 不同于webservice或可以称为一种 webservice(当然不基于SOAP)。任何重大差异或它 只是协议差异bw webservice和服务器端XMLhttp 张贴?
简单来说,Web服务对某些应用程序协议XML
(通常是HTTP
)。可以基于SOAP
或REST
。要了解更多相关信息,请阅读Service Oriented Applications
3.Web服务可以异步吗?(通过javascript调用AJAX)
他们可能但它比那更复杂。
4.是否有任何不同类型的网络服务? (例如,存在差异bw,提供股票报价和网络服务的网络服务 由谷歌提供)
不确定你在这里问什么。每个Web服务都提供一些东西
答案 1 :(得分:0)
我会在这里尝试非常简单:
W3C将“Web服务”定义为“旨在实现的软件系统” 通过网络支持可互操作的机器对机器交互“。
这意味着任何软件成为Web服务的首要条件是它不应该依赖于平台或软件,即在Java堆栈上制作的Web服务可以由Windows上的.net堆栈中的客户端或android上的Java堆栈使用。
Web服务的类型
实际上,对Web服务类型没有全面而明确的分类。但最受欢迎的两个是:
基于SOAP的Web服务。 :它使用遵循简单对象访问协议(SOAP)标准的XML消息,这是一种定义消息体系结构和消息格式(WSDL)的XML语言。
基于REST的网络服务。随着WEb 2.0的发展,重点已经从基于SOAP的服务转向基于代表性状态转移(REST)的通信。[3] REST服务不需要XML,SOAP或WSDL服务API定义。Read here to get a easy explanation of REST
需要WSDL来使用SOAP Web服务吗?
要使用SOAP服务,我们只需要SOAP端点和XML消息格式。 WSDL是通过Java和.NET SOAP框架生成自动客户端代码的先决条件。
异步Web服务
使Web服务异步是可能的。但复杂性取决于所使用的框架,例如JAVA中的AXIS2很容易实现。