我正在与疯狂的行为挣扎:
我想用SoapServer发送响应,但是当数据太大时,我得到一个空响应(用soapUI测试)
来自服务器的响应:
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Date: Sat, 15 Apr 2017 00:54:26 GMT
Connection: close
Content-Length: 0
错误日志中没有错误,没有时间问题
我建立了一个静态响应测试:
$array=(object)
[
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"
],
(object)
[
'CallDirection' => 'Inbound',
'CallHangUpDateTime' => "2017-04-11 11:11:11"
]
];
一旦Array获得超过52个元素(测试完全相同),响应为空 当元素具有更多项目时,工作元素的数量更小(例如31)
将在以下代码中返回数组:
$test = new getDialerTimeLineCallsResult((object)
[
'DialerOrderCallResults' => (object) $array,
'ServiceResult' => (object)
[
'ServiceCode' => 0,
'ServiceDuration' => 0,
'ServiceMessage' => "test",
'ServiceReference' => $ServiceReference,
'ServiceSuccess' => $result
]
]);
$test = new SoapVar($test,SOAP_ENC_OBJECT, null, null, 'getDialerTimeLineCallsResult');
return $test;
我已经写了几个步骤来验证$ test最终是否持有soapvar,而且确实如此!
但是一旦结果变得太大,响应将为空
我已经检查过没有内存限制,错误日志中没有错误,没有时间问题,在运行PHP5.x,Windows和Linux的2台服务器上测试,结果相同
有人知道为什么会这样吗?