REQUEST中未定义元素XMLZONE

时间:2012-09-11 08:27:56

标签: coldfusion coldfusion-8

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

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

<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

1 个答案:

答案 0 :(得分:2)

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

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

我怀疑您的申请已超时,当您执行xmlSearch()时,application.xmlZones不包含您认为包含的内容。但这是猜测。