2011-01-26 16 views
5

Hemos creado un extenso sistema de middleware en torno a la API XML-RPC de Magento. Hemos envuelto el punto final con Python y estamos haciendo un montón de multicalls.¿Por qué un punto final de la API XML-RPC lanzará aleatoriamente un ProtocolError -1?

En un intervalo aparentemente al azar, la API responde con

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

es la forma divertida de este Apache de decir "503 Servicio no disponible" y si es así, ¿por qué podría ser?

¿Cuál es la forma ideal de manejar esta excepción? Volver a intentar la excepción parece empeorar el problema.

servidor

La web es Ubuntu 10.04.1 5.3.2-1ubuntu4.5 PHP con Suhosin-Patch & Zend Engine v2.3.0 La API está siendo llamado con xmlrpclib de Python.

+1

es posible que desee para explicar toda la pila su uso, es decir, OS/servidor web, etc. – B00MER

Respuesta

0

En general, SIEMPRE debe intentar/detectar errores con XMLRPC/SOAP (a Magento) ya que no puede garantizar que la conexión a Internet entre A y B esté funcionando.

Creo que su error puede ser la forma de decir '50x bla' o '404 bla' si no se ha totalmente mirado el objeto de error de Python:

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

Cuestiones relacionadas