教程 > soap > 阅读:68

soap transport 传输——迹忆客-ag捕鱼王app官网

soap 不依赖于任何传输协议。 soap 可以通过 smtp、ftp、ibm 的 mqseries 或 microsoft 消息队列 (msmq) 传输。

soap 规范仅包含有关 http 的详细信息。 http 仍然是最流行的 soap 传输协议。


通过 http 的 soap

从逻辑上讲,soap 请求是通过 http 请求发送的,并且 soap 响应在 http 响应的内容中返回。虽然可以通过 http get 发送 soap 请求,但该规范仅包含有关 http post 的详细信息。

此外,http 请求和响应都需要将其内容类型设置为 text/xml

soap 规范要求客户端必须提供 soapaction 标头,但 soapaction 标头的实际值取决于 soap 服务器实现。

例如,要访问由 xmethods 托管的 altavista babelfish translation 服务,您必须将以下内容指定为 soapaction 标头。

urn:xmethodsbabelfish#babelfish

即使服务器不需要完整的 soapaction 标头,客户端也必须指定空字符串 ("") 或空值。例如 -

soapaction: ""
soapaction:

这是通过 http 发送到 xmethods babelfish 翻译服务的示例请求 -

post /perl/soaplite.cgi http/1.0
host: services.xmethods.com
content-type: text/xml; charset = utf-8
content-length: 538
soapaction: "urn:xmethodsbabelfish#babelfish"


   
      
         en_fr
         hello, world!
      
   

请注意内容类型和 soapaction 标头。另请注意,babelfish 方法需要两个 string 参数。翻译模式 en_fr 将英语翻译成法语。

这是 xmethods 的回复 -

http/1.1 200 ok
date: sat, 09 jun 2001 15:01:55 gmt
server: apache/1.3.14 (unix) tomcat/1.0 php/4.0.1pl2
soapserver: soap::lite/perl/0.50
cache-control: s-maxage = 60, proxy-revalidate
content-length: 539
content-type: text/xml


   
   
      
         bonjour, monde!
      
   

通过 http 传递的 soap 响应必须遵循相同的 http 状态代码。例如,状态码 200 ok 表示响应成功。状态代码 500 internal server error 表示存在服务器错误,并且 soap 响应包含 fault 元素。

查看笔记

扫码一下
查看教程更方便
网站地图