0

我已经使用 gsoap c++​​ 实现了一个 web 服务,问题是我收到一个随机的 500 内部错误,错误代码为“文件结束或无输入:操作中断或超时”。有了这个,我已经验证了请求的总时间。一切都在几毫秒内得到验证。另外,我用有问题的响应验证了一个成功的响应,所有 xml 值都是相同的。任何人都可以建议我在哪里做错了吗?

以下是 GSOAP 服务器创建的来自 SENT.log 的块调试日志

<ResponseCode>00</ResponseCode><pDateTime>12055229</pDateTime><R1>null</R1><R2>null</R2><R3>null</R3><R4>null</R4> HTTP/ 1.1 500 内部服务器错误服务器:gSOAP/2.8 内容类型:text/xml;charset=utf-8 内容长度:456 连接:关闭

SOAP-ENV:ClientEnd of file or no input: Operation interrupted or timed out (5 s recv delay)HTTP/1.1 500 Internal Server Error Server: gSOAP/2.8 Content-Type: text/xml; charset=utf-8 内容长度:456 连接:关闭”

4

1 回答 1

0

您的超时设置可能太低(只有 5 秒),这意味着如果在 5 秒内未收到任何数据,则连接超时。将soap->recv_timeout = 30数据接收超时设置为 30 秒。这取决于您的应用程序可以接受哪些超时设置,但 5 秒绝对是紧张的。

于 2016-09-16T12:21:17.157 回答