我将学习REST风格的Web服务(最好是说我必须这样做,因为它是CS硕士学位课程的一部分)。 我已经阅读了维基百科中的一些信息,并且在Sun Developer Network上也阅读了一篇关于REST的文章,我发现这不是一件容易的技术,有构buildRESTful应用程序的特殊框架,而且通常与SOAP Web服务和程序员应该明白什么时候使用SOAP,什么时候REST可以是很好的方法。 我记得几年前,SOAP是非常stream行的(时髦?),每一个好的简历都必须包含“SOAP”。 但在实践中,它很less被使用,并且达到了非常简单的目的。 在我看来,REST是另一个“时尚的最后一个字”(或者我可能完全错误,因为我从来没有见过REST的实践)。 你能给我举一些REST应该使用的例子,为什么我们不能在没有REST的情况下做同样的事情(或者为什么我们不花费更多的时间来做同样的事情而不使用REST)呢? 乌兹别克斯坦 :不幸的是,我看不到任何具体的论点,可以在第一个评论中打动我的脑海。 让我觉得REST是真棒技术! 我想看到这样的答案: 我正在开发另一个复杂的HelloWorld应用程序,我们需要传输大量/微小的数据,并向我的同事提出了REST解决scheme: – 哦,该死的! 强尼,我们当然应该使用REST来实现这个应用程序! – 是的,比利,我们可以使用REST,但是我们最好使用SOAP。 相信我,因为我知道开发HelloWorld应用程序的一些东西。 但是SOAP是上个世纪的老式技术,我们可以使用更好的技术。 – 比利,你准备好花3天时间来试用REST吗? 我们可以在2小时内用SOAP来做到这一点。 – 是的,我相信我们会花更多的时间来实现相同的安全/性能/可伸缩性/其他任何与SOAP有关的事情。 我确信HelloWorld应用程序应该从现在开始只用REST开发。
我正在尝试一个简单的Web服务示例,即使我在php.ini文件中取消了注释extension=php_soap.dll ,我也会得到这个错误: 致命错误:在第2行中找不到C:\ Program Files(x86)\ EasyPHP-5.3.9 \ www \ server.php中的类“SoapClient”
我想在Python中使用基于WSDL SOAP的Web服务。 我已经看了一下Dive Into Python代码,但是SOAPpy模块在Python 2.5下不工作。 我尝试过使用一部分工作的泡沫 ,但是破坏了某些types(suds.TypeNotFound:Type not found:'item')。 我也看过客户端,但这似乎并不支持WSDL。 我曾看过ZSI,但看起来非常复杂。 有没有人有任何示例代码? WSDL是https://ws.pingdom.com/soap/PingdomAPI.wsdl,并且与PHP 5 SOAP客户端一起工作良好。
我已经实现了两个REST服务:Twitter和Netflix。 这两次,我努力寻找决定将这些服务公开为REST而不是SOAP的决定所涉及的用途和逻辑。 我希望有人能够告诉我我缺less的东西,并解释为什么REST被用作这些服务的服务实现。 1)实现REST服务比实现SOAP服务花费的时间要长得多。 所有现代语言/框架/平台的工具都可以在WSDL中读取并输出代理类和客户端。 实现一个REST服务是通过手工完成的,通过阅读文档来获得这个服务。 此外,在实施这两项服务的同时,您还必须“猜测”什么会回来,因为没有真正的模式或参考文件。 2)为什么编写一个返回XML的REST服务呢? 唯一的区别是,使用REST你不知道每个元素/属性代表的types – 你自己来实现它,并希望有一天一个string不会出现在你认为总是一个整数的字段中。 SOAP使用WSDL定义了数据结构,所以这是一个简单的事情。 3)我听说过使用SOAP的投诉,您有SOAP Envelope的“开销”。 在这个时代,我们真的需要担心less数几个字节吗? 4)我听说过REST,你可以将URLpopup到浏览器中查看数据。 当然,如果你的REST服务使用简单的或者没有authentication。 例如,Netflix服务使用OAuth,在您提交请求之前,您需要对事物进行签名和编码。 5)为什么我们需要每个资源的“可读”URL? 如果我们使用一个工具来实现这个服务,我们真的关心实际的URL吗?
目前正在做一些考试,我正在努力通过一些概念。 这些在我的笔记中都被“提及”了,但我并不真正了解它们是如何联系在一起的。 据我的理解是: SOA–使服务消费者/提供者进行通信的解决scheme。 (据我所知这是所有其他的总称) WSDL – 描述提供者服务的语言。 SOAP – 服务用来发送消息的XML协议“包装器”。 与WSDL一起工作以提供参数? REST – 一种类似于SOAP的devise模式,但是避免了XML? (真的不知道这个) JSON – 使用JavaScript的XML的替代品? (不知道这个或者) 在互联网环顾四周,似乎没有一个清楚的定义,所有这些是什么以及如何相互链接。
后续问题到这个职位 : 现在我对SOAP和RESTful Services之间的区别有一点点的了解。 我的问题是什么时候应该使用SOAP,何时使用RESTful; 哪一个在性能/速度或请求处理方面“更好”? 我第一次在RESTful(java)中实现,我想知道更多关于它; 我之前处理过SOAP。
我已经阅读了有关SOAP和REST作为Web服务通信协议之间差异的文章,但是我认为REST优于SOAP的最大优点是: REST更加dynamic,不需要创build和更新UDDI。 REST不限于XML格式。 REST Web服务可以发送纯文本,JSON和XML。 但是SOAP更加标准化(Ex;安全性)。 那么,我在这些方面是否正确?
我的一个客户要求我将第三方API集成到他们的Rails应用程序中。 唯一的问题是API使用SOAP。 Ruby已经基本上放弃了SOAP,转而使用REST。 他们提供了一个Java适配器,显然可以与Java-Ruby桥接器配合使用,但是如果可能的话,我们想把它全部保存在Ruby中。 我看着soap4r,但它似乎有一个不好的名声。 那么,将SOAP调用集成到Rails应用程序中的最佳方式是什么?
我需要从VB6程序中使用外部Web服务。 如果可能,我希望能够在不使用SOAP工具包的情况下部署我的程序,但这不是必需的。 我没有networking服务来源,我没有创build它。 这是一个供应商提供的服务。 因此,在SOAP工具包之外,从VB6中使用Web服务的最佳方式是什么?
我需要将肥皂标题信息设置为Web方法身份validation的一部分。 我使用ksoap2 API调用.NET Web服务。 这是带请求的肥皂头。 <soap:Header> <DTHeader xmlns="http://myServer.com/webservices/"> <Username> string </Username> <Password> string </Password> </DTHeader> </soap:Header> <soap:Body> <MyTestMethod xmlns="http://myServer.com/webservices/"> <ID> string </ID> <TransID> guid </TransID> </MyTestMethod> </soap:Body> 你可以请提供android代码来设置肥皂头“DTHeader”,并设置“用户名”和“密码”。