SOAP还是不SOAP?什么对我的网络服务最好?

Ste*_*ven 2 php soap web-services

我需要创建一个Web服务,将XML数据返回给我的一些客户端.
我在哪里谷歌搜索Web 服务教程,80%谈到使用SOAP.

我的问题是这样的:任何客户端都可以将获取的数据作为普通XML读取吗?
是否有SOAP的替代品?

jmo*_*253 6

REST是SOAP的轻量级替代品.它使用现有的HTTP方法,如GET,POST,PUT,DELETE.从概念上讲,URL标识服务器上的资源,HTTP方法定义要执行的操作.

REST是一种架构风格,因此它在实现方式方面具有灵活性.该体系结构只是一个指南,如果应用程序满足REST Web服务的已定义特性,则该应用程序被视为RESTful.

JSON通常用作传输,而不是XML.优点是JavaScript可以立即解析JSON,许多服务器端技术都有用于将JSON反序列化为对象的库.虽然建议使用JSON,但您可以将任何内容类型与REST一起使用,包括XML.

有关更多详细信息,请参阅有关RESTWikipedia文章.

例子:

获得福特雷鸟的汽车课程

HTTP GET http://example.com/cars/ford/thunderbird/8NUY1234  

$.ajax({
    url: '/cars/ford/thunderbird/8NUY1234',
    type: "GET",  /* implicit default, listed for clarity only */
    success: function(data) {
        alert(JSON.stringify(data) );  /* output json
        alert("engine = " + data.engine);
    }
});
Run Code Online (Sandbox Code Playgroud)

在车辆中插入车辆

HTTP POST http://example.com/cars/ford/f150/?vin=F14564564564&color=blue&engine=I6&...

// insert record on server.
var dataString = "vin=F143567547&color=blue&engine=I6"
$.ajax({ 
    url: '/cars/ford/f150',
    data: dataString,
    type: "POST",
    success: function(data) {
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 这有点值得商榷,但我相信这可能是RESTful.这取决于您从REST文章中了解的指南数量.简单地说,这个概念非常相似.你基本上是juts命中一个URL并让服务器根据你使用的HTTP Request方法做不同的事情.如果您可以进行检索XML或JSON的AJAX调用,那么您可以编写REST服务. (2认同)