2009-01-22 158 views
3

我有一個Web服務建立了一個網站的一小部分,而網站整體獲得一個良好的交通量這個特殊的服務不。每當我去通過Web服務發送請求時,它會在第一次嘗試時失敗,但第二次重試請求就可以正常工作。就好像它不再被緩存在內存中並在啓動時超時。ColdFusion的WSDL倍於第一次調用

有沒有把這個服務的活動無論是在我結束或在網絡服務提供商的最終辦法,這也是CF應用程序(我們公司的獨立部門)?排除故障有點困難,因爲它只會在很長一段時間後發生。我不想設置一個單獨的進程只是爲了繼續ping這項服務。

回答

1

您可以嘗試使用下面的方法對Web服務客戶端。 CF7 +內置了coldfusion.server.ServiceFactory Java服務。

代碼可以像

<cftry> 
    <!--- here goes attempt to invoke service method, maybe dummy "ping" ---> 
<cfcatch type="any"> 
    <!--- trying to refresh WSDL ---> 
    <cfset createObject("java","coldfusion.server.ServiceFactory").XmlRpcService.refreshWebService(ServiceURL) /> 
</cfcatch> 
</cftry> 
<!--- usual code ---> 

希望這有助於。

注:此工廠包含了很多有用的方法,但在互聯網上幾乎爲零的文件。好主意是將其轉儲並探索一下。

1

嘗試增加requesttimeout,看看是否有幫助。

4

如果服務器被調用之間定期重新啓動的模板,確保「保存類文件」設置在管理員(在緩存)功能,以防止模板從每個服務器重裝之後被重新編譯。