1

Element XMLZONE is undefined in REQUEST每天会收到几十次错误。

PageDisplay.cfm调用通过页面ZoneManager.cfm设置的request.xmlzone,使用以下(缩减)代码

<cfscript> 
variables.aZoneInfo = XmlSearch(application.xmlZones, "//zone[position() = 1]"); 
try { 
     request.xmlZone = ToString(variables.aZoneInfo[1]); 
} 
catch(any expt)
{ 
     variables.objZoneDAO = CreateObject("component", "#application.sComponentDir#ZoneDAO").init(application.sDSN); 
     variables.objZoneDAO.Read(variables.objZone, 1); } 
</cfscript>

现在,XML 永远不会改变,因此值得将 XML 文件/节点作为变量添加到PageDisplay.cfm吗?我也想知道它为什么会失败——有什么原因吗?

谢谢,

JJ

4

1 回答 1

2

好吧,如果调用ToString(variables.aZoneInfo[1]);失败,则request.xmlZone不会设置。它本身是否会失败是值得怀疑的toString(),但如果variables.aZoneInfo不是一个包含至少一个元素的数组,那么这会让你感到悲伤。你应该检查这一点,而不是假设它。

如果request.xmlZone设置是必不可少的,那么您需要在 catch 块中做比您当前正在做的更多的事情。至少你应该记录被捕获的异常,这样当你去“我想知道为什么会这样?” 你有一个日志可以参考。

我怀疑您的应用程序正在超时,并且当您执行xmlSearch(),时application.xmlZones不包含您认为它包含的内容。但这是一个猜测。

于 2012-09-11T09:27:18.363 回答