为什么XML-RPC API端点会随机抛出ProtocolError -1?

ale*_*tml 5 apache api xmlrpclib magento protocolexception

我们围绕Magento的XML-RPC API构建了一个广泛的中间件系统.我们用Python封装了端点并且正在做很多多线程.

在看似随机的时间间隔内,API会响应

ProtocolError for www.mydomain.com/api/xmlrpc/: -1
Run Code Online (Sandbox Code Playgroud)

这是Apache有趣的方式说"503服务不可用",如果是这样,为什么会这样?

处理此异常的理想方法是什么?异常重试似乎会让问题变得更糟.

Web服务器是Ubuntu 10.04.1 PHP 5.3.2-1ubuntu4.5,带有Suhosin-Patch和Zend Engine v2.3.0使用Python的xmlrpclib调用API.

ʍǝɥ*_*ʇɐɯ 0

一般来说,您应该始终尝试/捕获 XMLRPC/SOAP(到 Magento)的错误,因为您无法保证 A 和 B 之间的互联网连接正常工作。

我认为如果你还没有完全查看错误对象,你的错误可能是Python的表达“50x blah”或“404 blah”的方式:

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