如何在Android的XMLRPC库中获取错误代码
我在我的Android项目中使用了Magento的API。如何在Android的XMLRPC库中获取错误代码,android,api,magento,xmlrpclib,Android,Api,Magento,Xmlrpclib,我在我的Android项目中使用了Magento的API。 使用Magneto API向Magento存储发送请求时出错。 该错误包含“错误代码”” 错误如下: this code || \/ org.xm
使用Magneto API向Magento存储发送请求时出错。
该错误包含“
错误代码”
”
错误如下:
this code
||
\/
org.xmlrpc.android.XMLRPCFault: XMLRPC Fault: [code 101]
at org.xmlrpc.android.XMLRPCClient.callEx(XMLRPCClient.java:308)
at org.xmlrpc.android.XMLRPCMethod.run(XMLRPCMethod.java:33)
.
.
.
是否有人知道如何从异常中获取此错误代码,就像我们如何获取错误消息一样,如下所示:
try
{
......
......
}
catch(Exception e)
{
Log.i("Error",e.getMessage());
}
您已经有错误消息,在这种情况下它只是空的。查看src/org/xmlrpc/android/XMLRPCClient.java(第216行): 如您所见,此方法显示“XMLRPC Fault:[code 101]”,其中faultString=''(空)和faultCode=101。顺便说一句,这是urlopen错误[Errno 101]“网络无法访问”。如果使用某种代理,则可能会发生这种情况 现在介绍错误处理:使用server.py作为XML-RPC服务器。但在代码中没有定义任何错误处理程序。您可以通过在“class MyFunc:”字符串之后添加下一行来完成此操作:
class MyFuncs:
def _dispatch(self, method, args):
try:
return getattr(self, method)(*args)
except:
handle_logging()
...
并在handle_logging()中实现您的登录。详情如下:
public XMLRPCFault(String faultString, int faultCode) {
super("XMLRPC Fault: " + faultString + " [code " + faultCode + "]");
this.faultString = faultString;
this.faultCode = faultCode;
}
class MyFuncs:
def _dispatch(self, method, args):
try:
return getattr(self, method)(*args)
except:
handle_logging()
...