Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou utilizando Zend + Doctrine para fazer um WebService, e para isso estou utilizando o Zend_Xmlrpc, tudo esta funcionando perfeitamente, até eu chegar em uma resposta grande demais para o zend processar. um array com apenas 9 registros....
Ou seja se a resposta possuir mais de 9 registro a resposta vem em branco e da erro no lado cliente.
Existe alguma forma de aumetar esse tamanho de resposta?
Acredito que o problema seja do lado do Server,
$server = new Zend_XmlRpc_Server();
$server->setClass('Api_Xml');
echo $server->handle();
no lado client estou usando,
echo "<pre>";
$client = new Zend_XmlRpc_Client("http://address.me/api/1.0/xmlrpc.php");
$client->getHttpClient()->setConfig(array('timeout'=>30));
$filter[] = array('city_id'=>"63bbac31-b5ea-4668-b315-00e40f13f49b");
try{
var_dump( $client->call("neighborhood",$filter));
}catch (Exception $e){
echo $client->getLastRequest();
echo $client->getLastResponse();
}
Existem alguma configuração adicional?
Ahh para o método em questão o código é
/**
*
* Retorna a lista de bairros
* @param struct
* @returns struct
*/
public function neighborhood($filters){
$response = array();
if(count($filters) == 0){
$response['error'] = "Must have at least one filter.";
}else{
$qry = Doctrine_Query::create()->from("Neighborhood n");
foreach ($filters as $f=>$value){
$qry->addWhere($f. " = ?", $value);
}
$test = $qry->limit(9)->fetchArray();
foreach($test as $key => $value){
$response[] = $value;
}
return $test;
}
}
Como dito, se eu retirar o limit da query, simplismente irá retornar vazia a resposta, mesmo que haja dados.
Alguem tem alguma idéia de porque isso está ocorrendo?
Obrigado
Carregando comentários...