我们看到softlayer API抛出了某些例外情况' 间歇性地'我想知道可能导致这些异常的原因,以及如何处理这些情况。重试操作是一种可能性。欢迎任何其他建议。
API和例外列在下面 -
account.getNetworkStorage() - 抛出: SoftLayer.exceptions.TransportError:TransportError(0):HTTPSConnectionPool(host =' api.softlayer.com',port = 443):读取超时。
OR
SoftLayer.exceptions.TransportError:TransportError(0):("连接断开:错误(104,'连接由同行重置')",错误(104,' ;连接由同行重置'))
为什么服务器会关闭它的连接结束?
storage.getReplicationStatus(id = storageid) - 抛出: SoftLayer.exceptions.NotWellFormed:NotWellFormed(-32700):解析错误。没有很好的形成
我在循环中调用此API,并在失败之前成功返回。那么为什么服务器会随机发送格式错误的响应呢?或者传输层是否搞砸了?
谢谢,
~Urjit
答案 0 :(得分:0)
您使用代理吗?如果你是,那么在没有一个问题的情况下查看问题是否可重复将会很有帮助。 由于响应发送大量数据,它也可能是错误。要解决这个问题,你可以在下一个方法中使用结果限制(对于python客户端)。
Account.getNetWorkStorage(limit=5, offset=0)
有关结果限制的更多信息,请参阅:
http://softlayer-api-python-client.readthedocs.io/en/latest/api/client/
https://sldn.softlayer.com/article/using-result-limits-softlayer-api
最后,如果循环取决于先前的结果(即抛出TransportError的源代码),则可能出现格式错误。
SoftLayer文档说明了下一个-32700。 -32700“'解析错误。格式不正确”您的请求包含无效的XML。 各种,通常是您要求的API服务的名称。各种API调用遇到上述错误未表示的错误。大多数故障属于此类别,并且结果形成了SoftLayer在执行方法时遇到的错误。
请参阅XML-RPC的下一个链接: http://sldn.softlayer.com/article/xml-rpc