evg*_*y44 64 java post soap web-services http
我在一次采访中遇到了这个问题,你能告诉我SOAP Web服务是否只支持"POST"http方法,还是有一些方法可以接受服务器端的其他方法?
Vah*_*yan 18
线程已有三年了,但我认为仍会有很多人会向自己提出同样的问题,并会在网上找到错误的答案.问题的答案是否定的,也可以使用GET方法.
根据SOAP规范,可以在这里找到:https://www.w3.org/TR/2007/REC-soap12-part0-20070427/#transport GET和POST方法都可用于通过http交换SOAP消息.使用HTTP POST方法在HTTP请求的主体中传递SOAP消息使用称为SOAP请求 - 响应消息交换模式的模式.在HTTP GET的情况下,使用称为SOAP响应消息交换模式的模式.这两种模式的主要区别在于:
第一种类型的交互允许在HTTP POST的主体内使用数据来创建或修改由HTTP请求发往的URI所标识的资源的状态.第二种类型的交互模式提供了使用HTTP GET请求获取资源表示而不以任何方式改变其状态的能力.在第一种情况下,特定于SOAP的方面是HTTP POST请求的主体是SOAP消息,必须处理(根据SOAP处理模型)作为符合要求的特定于应用程序的处理的一部分. POST语义.在第二种情况下,forseen的典型用法是这样的情况:正在请求的资源的表示不是作为HTML,或者实际上是通用XML文档而是作为SOAP消息返回的.也就是说,响应消息的HTTP内容类型标题将其标识为媒体类型"application/soap + xml"
因此可以使用GET和POST方法.另一件事是在实践中大多使用POST方法.
糟糕的是,在将REST服务与SOAP服务进行比较时,作为REST的一个优点,人们会带来缓存,这在SOAP中是不可用的,因为SOAP只使用POST.这是完全错误的.
| 归档时间: |
|
| 查看次数: |
55886 次 |
| 最近记录: |