CXF并不尊重客户的保持活动请求

时间:2015-03-26 11:56:03

标签: http soap cxf keep-alive

我的客户正在发送:

POST /xxx/yyy HTTP/1.1
Host: localhost:9009
User-Agent: gSOAP/2.8
Content-Type: text/xml; charset=utf-8
Content-Length: 2442
Connection: keep-alive
SOAPAction: ""

但服务器回复:

HTTP/1.1 200 OK
Content-Type: text/xml;charset=UTF-8
Content-Length: 11182
Server: Jetty(8.1.14.v20131031)

服务器是否应该返回“Connection:keep-alive”? 我看到之后客户端关闭了连接,尽管它被配置为保持连接打开 我以为是因为服务器没有在回复中提供keep-alive(这是RFC吗?)。

1 个答案:

答案 0 :(得分:0)

在我的情况下,gSoap关闭连接的原因与从服务器返回的HTTP头无关,但是你需要通过调用以下方式指定两个方向上的keep-alive标志:

    soap_set_imode(this, SOAP_IO_KEEPALIVE);
    soap_set_omode(this, SOAP_IO_KEEPALIVE);

从我在HTTP 1.1中读到的内容,持久连接是默认连接,因此如果服务器没有返回“Connection:close”,则连接也可以用于下一个请求。