我无法弄清楚为什么我无法从使用 ksoap2 的 Web 服务调用中获得响应。
该调用将 MSISDN 值发送到 Web 服务并应返回一个字符串。我可以在 Web 服务上看到它确实被调用并返回了字符串,但我无法在设备上看到返回的字符串。
我的代码如下:
SoapObject request = new SoapObject("http://fc.mobiledatacapture/", "getParameters");
request.addProperty("arg0", MSISDN);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapSerializationEnvelope.VER10);
envelope.bodyOut = request;
HttpTransport ht = new HttpTransport(url);
//call web service method
ht.call("\"getParameters\"", envelope);
SoapObject response = (SoapObject)envelope.getResponse(); //marker
parameterString = (String) response.getProperty(0);
所以我知道 Web 服务被调用,但我从来没有得到 parameterString 的结果。
添加一些打印输出和错误检查后,我发现代码没有超过注释行 - “//marker”。就在那条线之前,我检查了信封是否为空,而事实并非如此。然而,这个代码块捕获了一个空错误。
所以我认为这意味着响应为空,但我怎样才能获得 Web 服务返回的值?