dp:url-open的超时值在数据功率中被忽略

问题描述

我提供的超时时间为一秒,但是当URL断开时,响应需要120秒钟以上的时间。在do:url-open中是否有一些变量或某些东西可以替代超时?

更新:我在请求转换以及响应转换时都调用dp:url-open。因此,覆盖的超时时间是60秒,加上双方的时间都变成了120秒。

这就是我的调用方式(我存储dp:url-open调用之前和之后的时间,然后在响应中返回它们):

enter image description here

情况1:当网址可访问时,我得到的结果如下:

enter image description here

情况2::无法访问网址时:

enter image description here

更新:已修复::似乎我正在使用的端口首先在防火墙中超时,该端口过去只用了1分钟。我早些时候试图访问运行在端口8077上的应用程序,后来我将其更改为8088,然后开始看到与传递相同的超时。

解决方法

do:url-open()超时仅影响脚本中完成的操作,而不影响服务本身。这取决于您如何构建解决方案,但是应该遵守do:url-open()的超时要求。 您可以通过将日志设置为debug并添加<xsl:message>Before url-open</xsl:message>和一个after来检查此情况,以在日志中查看是等待120秒钟以上的URL打开呼叫还是服务。

如果是url-open,则很可能在脚本中出错,并且如果是服务停止响应,则需要从脚本返回(或根据需要抛出错误)以停止服务

您可以为服务本身设置超时,也可以在用户代理中为要调用的特定URL设置超时。 请注意,如果您将服务级别设置为1秒,则超时将在该时间之后终止。不推荐!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...