Gestion des exceptions Apache XML-RPC
Question
Quel est le moyen le plus simple d'extraire l'exception d'origine d'une exception renvoyée via l'implémentation XML-RPC d'Apache ?
La solution
Il s'avère que l'obtention de l'exception de cause à partir de l'exception Apache est la bonne.
} catch (XmlRpcException rpce) {
Throwable cause = rpce.getCause();
if(cause != null) {
if(cause instanceof ExceptionYouCanHandleException) {
handler(cause);
}
else { throw(cause); }
}
else { throw(rpce); }
}
Autres conseils
Selon le Spécification XML-RPC il renvoie la « faute » dans le XML.
S'agit-il de "l'exception" à laquelle vous faites référence ou faites-vous référence à une exception Java générée lors de l'appel XML-RPC ?
Exemple de défaut
HTTP/1.1 200 OK
Connection: close
Content-Length: 426
Content-Type: text/xml
Date: Fri, 17 Jul 1998 19:55:02 GMT
Server: UserLand Frontier/5.1.2-WinNT
<?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>4</int></value>
</member>
<member>
<name>faultString</name>
<value>
<string>Too many parameters.</string>
</value>
</member>
</struct>
</value>
</fault>
</methodResponse>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow