ColdFusion WSDL在第一次调用时超时

时间:2009-01-22 17:49:13

标签: web-services coldfusion wsdl

我在网站的一小部分上设置了网络服务,而网站整体获得了大量的流量,而这项特定的服务却没有。有一天,当我通过Web服务发送请求时,它将在第一次尝试时失败,但是第二次重试请求工作正常。就好像它不再缓存在内存中并在启动时超时。

有没有办法让这项服务在我的终端或网络服务提供商的最终也是CF应用程序(我们公司的独立部门)?排除故障有点困难,因为它只会在很长一段时间后发生一次。而且我不想设置一个单独的进程来继续ping这项服务。

3 个答案:

答案 0 :(得分:4)

如果在调用模板之间定期重新启动服务器,请确保在管理员中启用“保存类文件”设置(在缓存下),以防止在每次重新加载服务器后重新编译模板。

答案 1 :(得分:1)

尝试增加requesttimeout,看看是否有帮助。

答案 2 :(得分: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 --->

希望这有帮助。

注意:这个工厂包含很多有用的方法,但几乎没有互联网上的文档。好主意是抛弃它并探索一下。