在开发中经常用到WebService,可能本人人品太差经常遇到莫名其妙的问题,先在此写遇到的其中一例,在第五步即:
//step5 调用WebService
ht.call(soapAction, envelope);
程序走到这一步直接跳到:
catch (Exception e) {
result = e.getMessage();
}
中并且不报任何错误,根本无法排查。本人和同事在网上,在程序中花了很长时间,才找到其中的问题。那就是在调用WebService并返回的地方非activity或Service中要另起线程调用WebService。否则就会出现文章开头的问题。
例如:我在非activity或Service中调用登陆用的WebService,一般直接用String result= LoginUtils.UserInfoLogin(userName,passWord);在调试模式下会发现文章开头的问题,当你这样写时:
new Thread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
String result= LoginUtils.UserInfoLogin(userName,passWord);
}
}).start();
这个问题就没了,程序会正常运行。