问题描述
我提供的超时时间为一秒,但是当URL断开时,响应需要120秒钟以上的时间。在do:url-open中是否有一些变量或某些东西可以替代超时?
更新:我在请求转换以及响应转换时都调用dp:url-open。因此,覆盖的超时时间是60秒,加上双方的时间都变成了120秒。
这就是我的调用方式(我存储dp:url-open调用之前和之后的时间,然后在响应中返回它们):
更新:已修复::似乎我正在使用的端口首先在防火墙中超时,该端口过去只用了1分钟。我早些时候试图访问运行在端口8077上的应用程序,后来我将其更改为8088,然后开始看到与传递相同的超时。
解决方法
do:url-open()
超时仅影响脚本中完成的操作,而不影响服务本身。这取决于您如何构建解决方案,但是应该遵守do:url-open()
的超时要求。
您可以通过将日志设置为debug
并添加<xsl:message>Before url-open</xsl:message>
和一个after
来检查此情况,以在日志中查看是等待120秒钟以上的URL打开呼叫还是服务。
如果是url-open,则很可能在脚本中出错,并且如果是服务停止响应,则需要从脚本返回(或根据需要抛出错误)以停止服务
您可以为服务本身设置超时,也可以在用户代理中为要调用的特定URL设置超时。 请注意,如果您将服务级别设置为1秒,则超时将在该时间之后终止。不推荐!