2011-01-26 13 views
5

Zbudowaliśmy rozbudowany system oprogramowania pośredniego wokół interfejsu API XML-RPC Magento. Powiązaliśmy punkt końcowy z językiem Python i robimy dużo multicallów.Dlaczego punkt końcowy API XML-RPC losowo wyrzuciłby błąd ProtocolError -1?

Na pozornie losowych odstępach API odpowiada

ProtocolError for www.mydomain.com/api/xmlrpc/: -1 

zabawny sposób ten Apache mówić „503 Usługa niedostępna”, a jeśli tak, to dlaczego może być?

Jaki jest idealny sposób postępowania z tym wyjątkiem? Ponowna próba wyjątku wygląda na to, że pogorszy to problem.

serwer

W internecie jest Ubuntu 10.04.1 PHP 5.3.2-1ubuntu4.5 z Suhosin-patch & Zend V2.3.0 silnika API jest wywoływana z xmlrpclib Pythona.

+1

może chcesz wyjaśnić cały stos twoje użycie, np. serwer OS/web itp. – B00MER

Odpowiedz

0

Generalnie powinieneś ZAWSZE próbować/łapać błędy za pomocą XMLRPC/SOAP (do Magento), ponieważ nie możesz zagwarantować, że działa połączenie internetowe między A i B.

Myślę, że błąd może być sposobem Pythona powiedzenia „50x bla” lub „404 bla”, jeśli nie w pełni spojrzał na obiekt o błędzie:

http://docs.python.org/library/xmlrpclib.html#protocolerror-objects