1

客户端 SOAP 请求是否只是使用 HTTP POST 通过 TCP/IP 套接字连接向 Web 服务服务器发送格式正确的 HTTP 标头,然后是正确格式的 XML SOAP 内容,然后等待并解析响应?

这是“简单”还是幕后发生的事情更多?

我之所以问,是因为难以将 gSOAP 和 C++ 用于多个 WSDL 文件,并且正在考虑从头开始编写客户端。

4

1 回答 1

2

SOAP 可用于任何传输协议,如 TCP、HTTP、SMTP 等,其中 HTTP 是最流行的。

HTTP 上的 SOAP 基本上转换为一个有效的 POST HTTP 请求,其中包含一个 SOAP 信封,如果我们要谈论来自浏览器的经典 POST,表单参数将在那里。响应正文还包含一个 SOAP 信封,在那里您希望 HTML 作为对来自浏览器的请求的响应。

您只需要为正在使用的 SOAP 版本(text/xml对于 SOAP 1.1 和application/soap+xmlSOAP 1.2)使用正确的内容类型,并且如果需要(对于 SOAP 1.1)可能指定SOAPAction标头,但这就是关于 HTTP 通信的问题。

然后信封的接收者(无论是请求的服务器还是响应的客户端)必须使用 SOAP 消息,但这与 HTTP 无关,HTTP 只是在那里获取消息。

于 2012-04-29T14:40:20.960 回答