我不明白为什么我不能使用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的结果。
在添加了一些打印输出和错误检查之后,我发现代码没有通过带有注释“//标记”的行。就在这一行之前,我检查了信封是否为空,但这个代码块捕获了一个空错误。
所以我假设这意味着响应是空的,但是我如何才能获得web服务返回的值呢?
发布于 2010-06-01 16:43:55
别担心。我按如下方式更改了代码,并获得了我的web服务返回的字符串:
Object response = envelope.getResponse();
parameterString = response.toString();https://stackoverflow.com/questions/2948169
复制相似问题