2013-03-12 74 views
0

我有一個ASP.NET WebService如果輸入條件錯誤會引發異常。Android ksoap2句柄ASP.NET例外

如果它被另一個C#/ ASP.NET應用程序客戶端調用,他們可以正確解釋異常。

但是如果它被ksoap2調用,我會得到一個HTTP狀態500。

我可以知道什麼是我處理此異常的最佳方式,最重要的是檢索該異常中的錯誤消息,以便我可以向用戶顯示。

在此先感謝。

----添加下面的代碼:

ASP.NET Web服務

[WebMethod] 
public void Test() 
{ 
    throw new Exception("This is a test message"); 
} 

的Android客戶端ksoap2

// There are some details been obmitted. Just assume the code below works ok? 

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); 
envelope.dotNet = true; 
envelope.setOutputSoapObject(request); 
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL, 60000); 
try 
{ 
    // The Web Service in ASPNET is invoked successfully. And an Exception is thrown. 
    androidHttpTransport.call(SOAP_ACTION, envelope); 

    SoapObject obj; 
    obj = (SoapObject)envelope.getResponse(); 
} 
catch (Exception e) 
{ 
    // Manage to reach here. But How can I retrieve the Fault Message "This is a test message"? 
    e.printStackTrace(); 
} 
+0

它基本上是'響應代碼'。你可以檢查它是否是'404,500,403'等等,並根據你的需要顯示敬酒或其他東西。 – Prateek 2013-03-12 06:03:25

+0

是的,我只收到響應碼505.但事實是,SOAP錯誤帶有一條消息。 ASPNET客戶端將能夠檢索該特定消息。但是ksoap2客戶端不。 – 2013-05-19 08:35:08

回答