24

为什么使用 SOAP 与前端通信不是一个好主意?例如,使用 JavaScript 的 Web 浏览器。

4

4 回答 4

42
  • 因为肿了
  • 因为 JavaScript 本身就可以理解 JSON
  • 因为用 JavaScript 操作 XML 并不快。
于 2008-09-24T13:14:33.123 回答
18

因为 SOAP 在寻求协议独立性的过程中重新发明了很多 HTTP 轮子。如果您知道无论如何都要通过 HTTP 提供响应(因为您的客户端是 Web 浏览器),那又有什么意义呢?

更新:我第二个小发明(暗示)对 JSON 的建议。

于 2008-09-24T13:13:58.117 回答
5

如果 Web 浏览器是您唯一的客户端,那么我不得不同意 SOAP 是矫枉过正。

但是,如果您要在不同平台上运行多种类型的前端客户端,那么 SOAP 可能是合适的。SOAP 的好处在于,有很多工具可以生成代码,供您处理基于 WSDL 文件的 SOAP 发送、接收和解析。

例如,如果您想开发一个 C++ 前端客户端,那么您只需要 WSDL 文件,Microsoft 的工具将生成所有 C++ 代码,以基于数据结构生成 SOAP 请求、发送请求、接收响应以及将响应解析为返回数据结构。

在客户端和服务器端都有工具可以做到这一点。

于 2008-09-24T13:47:54.510 回答
3

可以做到的。请记住,SOAP 并不是交换信息的最快方式,因为开销很大(必须来回发送大 XML)——这可能是您不经常看到它使用的原因

于 2008-09-24T13:15:08.567 回答