2008-09-09 8 views
3

Quel est le moyen le plus simple d'extraire l'exception d'origine d'une exception renvoyée via l'implémentation de XML-RPC par Apache?Traitement des exceptions Apache XML-RPC

+0

Quel est le contexte de cette question? Utilisez-vous XML-RPC directement? – ScArcher2

+0

J'utilise l'implémentation d'Apache, à savoir http://ws.apache.org/xmlrpc/ –

Répondre

3

Il se avère que faire l'exception cause de l'exception Apache est le bon.

} catch (XmlRpcException rpce) { 
    Throwable cause = rpce.getCause(); 
    if(cause != null) { 
     if(cause instanceof ExceptionYouCanHandleException) { 
      handler(cause); 
     } 
     else { throw(cause); } 
    } 
    else { throw(rpce); } 
} 
1

Selon le XML-RPC Spec il renvoie la "faute" dans le fichier XML.

Est-ce l'exception dont vous parlez 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> 
+0

Supposons que l'authentification de base soit utilisée ... comment obtenez-vous l'en-tête HTTP/1.1 401 Non autorisé plutôt? –