调用SOAP Web服务就像调用RESTful一样?

时间:2014-01-28 03:27:58

标签: web-services rest soap

调用RESTful Web服务意味着POST / GET一些值到Web服务URL。

调用SOAP Web服务时,是否还将值POST到Web服务URL(SOAP格式后面的值)?

或者另外一种方法是,调用SOAP Web服务和RESTful Web服务除了数据格式之外没什么区别?

1 个答案:

答案 0 :(得分:1)

SOAP和REST之间存在很多差异。我不会详细介绍,因为你会在网上找到很多信息,但是关于你发送给服务的请求,我可以提到一些与众不同的信息:

  • 假设两者都使用主协议(即HTTP),SOAP仅对其所有消息使用POST,而REST可以使用所有动词(GET,POST,PUT,DELETE,HEAD等);
  • SOAP定义要执行的操作(您可以在消息有效内容中创建无限数量的操作:getCustomer,deleteCustomer,createOrder,updateDetails等),而REST仅使用HTTP提供的操作(GET,POST,PUT等) ;
  • SOAP操作不关心底层协议的操作(一切都在POST之上),因此操作的含义在SOAP有效负载本身内。 REST确实关心底层协议操作的含义,它必须尊重它。例如,您无法通过执行GET来删除资源。
  • SOAP仅为其所有操作公开一个端点。操作名称位于有效内容中,并指定要对其执行操作的实体。 REST为每个资源公开了许多端点,一个或多个端点(例如/customers/customers/12/customers/12/orders/customer/12/orders/last等。

因此,总之,调用SOAP Web服务实际上与调用RESTful服务不同。