Was ist der einfachste Weg, die ursprüngliche Ausnahme von einer Ausnahme zu extrahieren, die über die Apache-Implementierung von XML-RPC zurückgegeben wurde?Apache XML-RPC-Ausnahmebehandlung
3
A
Antwort
3
Es stellt sich heraus, dass von der Apache Ausnahme, die Ursache Ausnahme immer ist die richtige.
} catch (XmlRpcException rpce) {
Throwable cause = rpce.getCause();
if(cause != null) {
if(cause instanceof ExceptionYouCanHandleException) {
handler(cause);
}
else { throw(cause); }
}
else { throw(rpce); }
}
1
Entsprechend der XML-RPC Spec gibt es den "Fehler" in der XML zurück.
Ist dies die "Ausnahme", auf die Sie sich beziehen, oder verweisen Sie auf eine Java-Ausnahme, die beim Ausführen des XML-RPC-Aufrufs generiert wird?
Fehler Beispiel
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
Nehmen wir an, die Standardauthentifizierung wird verwendet ... Wie erhalten Sie die Header als HTTP/1.1 401 Unauthorized eher? –
Was ist der Kontext dieser Frage? Verwenden Sie XML-RPC direkt? – ScArcher2
Ich benutze die Implementierung von Apache, nämlich http://ws.apache.org/xmlrpc/ –