使用axis2生成webserice客户端时,在引用的jar包axis2-kernel下的org.apache.axis2.client.Options类中默认设置通讯超时时间为30s,jar包源码如下,可以看到默认时间为final常量:
package org.apache.axis2.client;
public class Options implements Externalizable,SafeSerializable{
public static final int DEFAULT_TIMEOUT_MILLISECONDS=30000;
private long timeOutInMilliSeconds=-1L;
public long getTimeOutInMilliSeconds(){
if((this.timeOutInMilliSeconds==-1L)&&(this.parent!=null)){
return this.parent.getTimeOutInMilliSeconds();
}
return this.parent.getTimeOutInMilliSeconds()==-1L?30000L:this.timeOutInMilliSeconds;
}
}
为了在外部能够设置超时时间,添加了一下代码【默认超时时间同jar包中原来30s同】:
private long TimeOut=30000L;
public long getTimeOut(){
return TimeOut;
}
public void setTimeOut(long timeOut){
if(TimeOut>0L){
TimeOut=timeOut;
}else{
TimeOut=30000L;
}
}
public long ge