客户端SOAP请求是否只是使用HTTP POST通过TCP / IP套接字连接将正确格式化的XML SOAP内容发送到Web服务服务器,然后等待并解析响应?
这是“简单”还是幕后还有更多?
我问,因为很难将gSOAP和C ++用于多个WSDL文件,并且正在考虑从头开始编写客户端。
答案 0 :(得分:2)
SOAP可以用于任何传输协议,如TCP,HTTP,SMTP等,而HTTP是最受欢迎的。
基于HTTP的SOAP基本上转换为一个有效的POST HTTP请求,其中包含一个SOAP信封,如果我们要从浏览器谈论一个经典的POST,那里就会有表单参数。响应正文还包含一个SOAP信封,在那里您可以期望HTML作为对来自浏览器的请求的响应。
您只需对正在使用的SOAP版本使用正确的内容类型(SOAP {1.1为text/xml
,SOAP 1.2为application/soap+xml
),如果需要,可以指定SOAPAction
标头(对于SOAP 1.1),但这与HTTP通信有关。
然后信封的接收者(无论是请求中的服务器还是响应上的客户端)都必须使用SOAP消息,但这与HTTP无关,HTTP只是在那里得到了消息。