Oznámení
Moze dibi sposobit chybu v SoapClient
před 8 lety
- matok
- Člen | 7
php: 5.3.5 dibi: 1.5rc
Pouzivam http://www.php.net/…apclient.php na svoju synchronizaciu nejakych dat…
<?php
$client = new SoapClient("xy.wsdl", array('connection_timeout' => 120, 'trace' => 1));
$data = $client->getClassifier("data_a", true);
foreach ($data->body as $item)
{
$inser_data = array(); /* priprava asositivneho pola */
dibi::query('REPLACE `data_a` SET %a', $inser_data);
}
// sync. dalsej tabulky
// sync. dalsej tabulky
// sync. dalsej tabulky
?>
Podobny kod sa opakuje viac krat… data_a az data_e. Mozno niekto bude namiestat ze REPLACE nie je najvhodnejsi – nie je… ale zatial by to stacilo… kedy mi to neskonci SoapFault – Error Fetching http headers
Ako toto suvisi s dibi netusim ale fakt je taky ze ked dibi::queuy zakomentujem tak to ide. Neviem zistit co je zle kedze toto sa stane az pri dalsej tabulke a keby mam kod v oddelych suboroch (teda ak by som to pustal zvlast) tak ziadne chyba nebude.
Stretol sa niekto uz s niecim podobnym?
před 8 lety
- Milo
- Nette Core | 1119
Do logů web serveru (tam kde běží SOAP server) jsi koukal? Co
$client->__getLastRequestHeaders()
atp…?
před 8 lety
- matok
- Člen | 7
Uz som to vyriesil inak – chyba dibi to nebude a cely problem bude v tom
ze neviem preco ale jediny rozumny dovod je ze to ignoruje timeout 120 sekund
(aj ostatne timeouty boli nastavene vysoko), zo ziadnych logov som sa nic
rozumne nedozvedel.
Uz ma to privadzalo do sialenstva kedze to obcas preslo cele a niekedy nie :D
..tak som sa spytal…
před 8 lety
- Milo
- Nette Core | 1119
Zkoušel jsi nastavit i default_socket_timeout
přes
ini_set()
? Prohlídnul bych ty HTTP hlavičky, Keep-Alive a pod…
ale jak píšeš, to už je mimo dibi.
před 8 lety
- HosipLan
- Moderator | 4693
Obal celý ten tvůj úžasný script do transkace a třeba se zrychlí natolik, že to soap vydrží.