Web服务 – HTTP over HTTP和SOAP over HTTP之间的区别

SOAP over HTTP是HTTP over HTTP的一个子集,因为我认为SOAP也是一个xml,它确认为模式(SOAP架构)?我认为XML over HTTP服务可以使用GET或POST方法访问。 SOAP over HTTP是否始终使用POST方法?在XML over HTTP的情况下,我假设缺点是模式文件必须与所有消费者共享,而在SOAP over HTTP的情况下,它将是一个单一的WSDL文件。有可能帮助我了解一个人的差异和优势吗?

解决方法

SOAP是XML的专业化,因为它具有一个模式,如 http://www.xmlsoap.org/soap/envelope/,而XML则更为通用。

对于使用GET,您可以阅读以下讨论:http://www.coderanch.com/t/463869/Web-Services/java/SOAP-request-HTTP,但基本上SOAP是通过POST完成的,尽管Axis2似乎对GET有支持,但作为REST在REST似乎规则化的世界中的工作方式。

而且,根据这篇IBM文章(http://www.ibm.com/developerworks/xml/library/x-tipgetr/index.html),SOAP 1.2引入了GET。

正如你所提到的,SOAP是一个标准,所以有一些工具可以轻松地使用它,包括动态客户端生成,如此问题所示,dynamic proxy soap web service client in java?,客户端生成连接所需的存根。

如果您使用XML通过http,根据需要可能会更好,作为传输数据的方式,但在使用情况下,我可以想到,只要使用JSON和REST,似乎更好,但如果您想传输XML或发送XML,那么您可以使用REST来查看。

尽管GET具有大小限制(maximum length of HTTP GET request?),POST可能是更好的选择,这可能是为什么SOAP几乎总是POST。

在WCF中,WSDL不一定是单个文件,如果我记得有许多xml文件需要放在一起才能完成WSDL。

优点取决于您的用例,但我发现使用REST并允许用户选择该类型是有用的,因为在JSON和XML之间切换可能是微不足道的,并且是XML over HTTP的更好选择。

当与旧技术集成时,SOAP最好,因为它们可以轻松使用。例如,当我制作了用于SAP集成的Web服务时,根据ABAP程序员的能力,可以更多地使用它来使用SOAP。

你可能会发现这个使用的问题:

How SOAP and REST work with XML/JSON response?

并且有关在webservices中的JSON和XML的讨论,您可能会发现这有用:

http://digitalbazaar.com/2010/11/22/json-vs-xml/

我忘了这个链接,因为他们做了一个简单的比较,但最终你可以轻松地支持两者。在WCF中,我有一个拥有业务逻辑的控制器,并且必须.aspx文件一个用于SOAP,一个用于REST,一些webservices也支持这两个,因为它只是处理请求和响应差异的问题。所以,如果你想为两者提供支持,并且有一个显示它的商业案例是有道理的,那么选择一个可以轻松实现的框架。

http://digitalbazaar.com/2010/11/22/json-vs-xml/

基本上,目标是通过网络为客户提供服务。什么客户端要连接?客户如何找到最容易达成的目标?请求中传递了多少数据?

这些类型的问题将为您的需求提供最佳解决方案。

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些