我有一个ASP.NET WebService
如果输入条件错误会抛出异常。
如果它被另一个C#/ ASP.NET应用程序客户端调用,它们可以正确解释异常。
但如果它被ksoap2调用,我将获得HTTP状态500。
我可以知道处理此异常的最佳方法是什么,最重要的是检索该异常中的错误消息,以便我可以向用户显示。
提前致谢。
----添加以下代码:
[WebMethod]
public void Test()
{
throw new Exception("This is a test message");
}
// 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 :(得分: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。