Android ksoap2处理ASP.NET异常

时间:2013-03-12 06:00:03

标签: android asp.net exception ksoap2

我有一个ASP.NET WebService如果输入条件错误会抛出异常。

如果它被另一个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();
}

2 个答案:

答案 0 :(得分:0)

http://www.c-sharpcorner.com/UploadFile/88b6e5/how-to-call-web-service-in-android-using-soap/请参阅此链接,它会对您有所帮助。如果您发布代码意味着它会帮助您。

答案 1 :(得分:0)

如果您使用的是ksoap2-android 3.0.0版,并且在响应中收到了SOAP错误,并且没有收到SOAP错误代码。

3.0.1版本中已修复此问题:https://code.google.com/p/ksoap2-android/wiki/ProjectNews