Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于SOAP和HTTP基础知识的查询_Soap_Gsoap - Fatal编程技术网

关于SOAP和HTTP基础知识的查询

关于SOAP和HTTP基础知识的查询,soap,gsoap,Soap,Gsoap,客户端SOAP请求是否只是使用HTTP POST通过TCP/IP套接字连接向web服务服务器发送正确格式的HTTP头,后跟正确格式的XML SOAP内容,然后等待并解析响应 这是“简单”还是幕后还有更多的事情 我问,因为使用C++的GSOAP对于多个WSDL文件有困难,并且考虑从零开始写入客户端。 < P> SOAP可用于任何传输协议,如TCP、HTTP、SMTP等,HTTP是最流行的。p> SOAP over HTTP基本上转换为一个有效的POST HTTP请求,其中包含一个SOAP信封,如果

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

这是“简单”还是幕后还有更多的事情


我问,因为使用C++的GSOAP对于多个WSDL文件有困难,并且考虑从零开始写入客户端。

< P> SOAP可用于任何传输协议,如TCP、HTTP、SMTP等,HTTP是最流行的。p> SOAP over HTTP基本上转换为一个有效的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只是在那里得到了消息

非常感谢你的回答。因此,假设我正确地创建了SOAP请求并正确地格式化了HTTP头,那么我可以通过端口80上的TCP套接字连接到我的服务器并向其写入数据包吗?这就是HTTP的真正含义吗?请原谅我在这个问题上过于密集——我一直在使用TCP/IP套接字,但我以前从未做过任何事情。@MathematicalIAN1975:是一种协议。HTTP通信通常通过默认端口80上的TCP/IP连接进行,因此基本上是的,如果您发送一个按照HTTP标准规则格式化的请求,它应该可以工作。我不熟悉gsoap,但是gsoap生成的代理应该直接支持HTTP,从而使开发人员更容易使用它(无需在较低级别上工作)。