2008-09-09 112 views
3

從通過Apache的XML-RPC實現返回的異常中提取原始異常的最簡單方法是什麼?Apache XML-RPC異常處理

+0

這個問題的背景是什麼?你是直接使用XML-RPC嗎? – ScArcher2 2008-09-09 21:44:14

+0

我正在使用Apache的實現,即http://ws.apache.org/xmlrpc/ – 2008-09-11 14:04:39

回答

3

原來,來自Apache例外獲得事業的例外是正確的。

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

根據XML-RPC Spec它返回xml中的「故障」。

這是您所指的「異常」還是您引用了在進行XML-RPC調用時生成的Java異常?

故障例如

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>