我正在开发Rest服务。一些外部系统向我发送一个XML文件,我将其解析,在DB中加载数据,然后发送响应 - “已加载的具体对象的范围”。
问题是解析和向DB添加数据需要很长时间,外部系统会收到超时错误消息。我想在解析传入的XML时立即通过部分发送响应:
1毫秒 - 对象1已加载 2毫秒 - 已加载对象
class ImportController extends Zend_Rest_Controller{
Zend_Controller_Front::returnResponse(true);
$this->getResponse()->setHeader('Content-Type', 'text/html');
foreach($xml as $xmlElement){
DbClass::addXmlData($xmlElement);
$this->getResponse()->setBody('Another object has been loaded');
$this->getResponse()->setHttpResponseCode(201);
}
}
答案 0 :(得分:2)
发送回复后,您无法继续发送回复。您必须有多个请求。对单个请求的多个响应是不好的做法。