2011-01-26 24 views
5

Chúng tôi đã xây dựng một hệ thống phần mềm trung gian mở rộng xung quanh API XML-RPC của Magento. Chúng tôi đã bao bọc điểm cuối bằng Python và đang thực hiện rất nhiều các multicalls.Tại sao điểm cuối API XML-RPC lại ngẫu nhiên ném một ProtocolError -1?

Tại một khoảng thời gian dường như ngẫu nhiên, API phản ứng với

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

là cách hài hước của Apache này nói "503 Service Unavailable" và nếu như vậy, tại sao có thể có được?

Cách lý tưởng để xử lý ngoại lệ này là gì? Một thử lại trên ngoại lệ có vẻ như nó sẽ làm cho vấn đề tồi tệ hơn.

máy chủ

Web là Ubuntu 10.04.1 PHP 5.3.2-1ubuntu4.5 với Suhosin-Patch & Zend Engine v2.3.0 API được gọi với xmlrpclib của Python.

+1

Bạn có thể muốn giải thích toàn bộ ngăn xếp sử dụng của bạn, tức là hệ điều hành/máy chủ web, v.v. – B00MER

Trả lời

0

Nói chung, bạn nên luôn luôn thử/bắt lỗi với XMLRPC/SOAP (với Magento) vì bạn không thể đảm bảo kết nối internet giữa A và B đang hoạt động.

Tôi nghĩ lỗi của bạn có thể cách khác để nói '50x blah' hoặc '404 blah' NẾU bạn chưa nhìn đầy đủ tại đối tượng lỗi của Python:

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

Các vấn đề liên quan