webservice客戶端超時

2021-08-15 09:35:14 字數 1061 閱讀 9002

使用axis2生成webserice客戶端時,在引用的jar包axis2-kernel下的org.apache.axis2.client.options類中預設設定通訊超時時間為30s,jar包原始碼如下,可以看到預設時間為final常量:

package org.apache.axis2.client;

public class options implements externalizable,safeserializable

return this.parent.gettimeoutinmilliseconds()==-1l?30000l:this.timeoutinmilliseconds;

}}

為了在外部能夠設定超時時間,新增了一下**【預設超時時間同jar包中原來30s同】:

private long timeout=30000l;

public long gettimeout()

public void settimeout(long timeout)else

}public long gettimeoutinmilliseconds()

return this.parent.gettimeoutinmilliseconds()==-1l?gettimeout():this.timeoutinmilliseconds;

}

在客戶端中手動設定超時時間,例如使用axis2生成的客戶端【比如reqs500000001stub類】

在其構造方法中找到serviceclient類的例項,有如下**

_serviceclient=new org.apache.axis2.client.serviceclient(configurationcontext,_service);
然後手動新增超時時間**【注意資料型別】,比如設定為60s:

_serviceclient.getoptions().settimeout(60000l)
現在超時時間就能按照實際需求進行設定了。

僅用交流,如果不妥,望指正

xfire 客戶端 超時異常

今天碰到個問題,xfire客戶端呼叫遠端的webservice伺服器,在異常日誌stdout中打了些read timeout 後,從jconsole觀察到resin的執行緒數量直線上公升,直到把所有執行緒都佔滿,後來看到是xfire的xfireclientfactorybean的 getclient...

客戶端呼叫服務端webservice的埠問題

今天有乙個同事過來問 他有乙個程式在a伺服器上調第三方b伺服器簡訊傳送服務介面 webservice 無論是否傳送成功,服務介面都會返回狀態。現在客戶要做每乙個伺服器 做入站埠管控,一切不必要的埠都要禁掉,問這邊需要開放哪些入站埠,前提不要影響簡訊的傳送和狀態返回。同事說連線時己方的產生的埠號是隨機...

webservice生成本地客戶端呼叫

生成如下幾個檔案 生成客戶端後有兩種方法進行方法的呼叫 stub.方法名 messageheader rs,xmlstring rs 這種可以後期對url進行設定,適用於url更改的情況.servicelocator zp new servicelocator zp.get httpport 方法名...