为什么不使用带JSON的SOAP?

JSON与REST相关联。 使用REST,您还可以使用XML。 那么为什么不反过来呢? 使用JSON的SOAP仅用于数据格式,同时保留wsdl用于在某些企业场景中有用的合同方面?

更新:所以评论席指向http://en.wikipedia.org/wiki/SOAPjr但是这不能回答我的问题:

如果它是两个品种中最好的,为什么几乎没有人包括我从未听说过它? 是不是因为像SOAP一样,人们只是遵循传统,直到一些大师醒来并哭泣:至少对某些企业应用来说,我们再次做错了吗?

完全可以使用JSON作为SOAP的有效负载。

人们不这样做的主要原因我猜想如果你已经从XML的限制中转移了,那么为什么不放弃SOAP。 JavaScript中的JSON起源和简单的ajax调用可能意味着SOAP对人们来说太过分了

与SOAP的严格合同以及使用XSD的XML数据validation也经常交织在一起。 SOAP标准确实将XML指定为有效负载,但您可以在CDATA标记中执行任何操作。 但是框架可能假设您的有效负载是XML。 因此,使用两种不同的可访问性理论可能会发生冲突。

但是如果你愿意的话,一定要使用带有SOAP的JSON。

正如Mat所说,你可以用JSON做同样的事情 – 那没关系。

但它不是SOAP – 就像 SOAP 一样

SOAP 根据定义使用XML。

SOAP消息被指定为XML信息集,其注释,元素,属性,名称空间和字符信息项能够被序列化为XML 1.0。 (SOAP v1.2,第1部分)

你当然可以在SOAP XML中嵌入一个JSON字符串,作为其中一个参数的值,对于文档样式的SOAP来说,这有点粗略但我看不出通用的原因。

REST没有指定表示(即内容)必须是什么 – 它是一种架构风格而不是协议标准,因此JSON,XML或其他任何东西都是可能的。