У меня есть ASP.NET WebService
, который будет генерировать исключение, если входное условие неверно.Android ksoap2 handle ASP.NET exception
Если он вызван другим клиентом приложения C#/ASP.NET, они могут правильно интерпретировать исключение.
Но если он вызывается ksoap2, я получаю HTTP-статус 500 вместо этого.
Могу ли я узнать, как лучше всего обработать это исключение и, самое главное, получить сообщение об ошибке в этом исключении, чтобы я мог отображать его.
Заранее спасибо.
---- Добавление кода ниже:
ASP.NET Web Services
[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();
}
В основном это «код ответа». Вы можете проверить, является ли это «404 500 403» и т. Д., И на основании этого вы можете показать тост или что-то еще. – Prateek
Да, я получаю только ответный код 505. Но дело в том, что ошибка SOAP приходит с сообщением. Клиент ASPNET сможет получить это конкретное сообщение. Но клиент ksoap2 этого не делает. –