在android项目中,可以使用ksoap访问WebService。但是HttpTransportSE.java类中,没有支持设置连接超时的方法,这样在特定的情况下会很不方便。查了很多资料也没什么很好的方法,最后决定自己改源码了。
首先,在ServiceConnection.java接口中,新增一个方法:
Java代码
public void setConnectTimeOut(int timeout);
public void setConnectTimeOut(int timeout);
然后在ServiceConnectionSE.java类中,实现setConnectTimeOut(int timeout)方法:
Java代码
public void setConnectTimeOut(int timeout) {
connection.setConnectTimeout(timeout);
}
public void setConnectTimeOut(int timeout) {
connection.setConnectTimeout(timeout);
}
实际上connection就是java.net.HttpURLConnection。
在HttpTransportSE类中新增了一个构造方法
Java代码
public HttpTransportSE(String url, int timeout) throws IOException {
super(url);
connection = getServiceConnection();
connection.setConnectTimeOut(timeout);
}
下载jar
本文介绍了如何在Android项目中使用ksoap访问WebService时,自定义设置连接超时时间,通过修改源码来解决特定情况下的不便。包括在ServiceConnection接口中新增setConnectTimeOut方法,实现对HttpURLConnection的超时设置,并在HttpTransportSE类中创建构造方法以应用自定义超时时间。
1万+

被折叠的 条评论
为什么被折叠?



