問題:請求WSDL的CFC時,出現以下錯誤:變量FORM未定義。它發生在這行代碼,在OnRequestStart方法的Application.cfc在ColdFusion中測試FORM範圍/結構的存在
<cfif structKeyExists(form,'resetappvars')>
<cfset OnApplicationStart() />
</cfif>
如果我要求的特定方法,它工作正常。我曾經考慮過使用cfparam來創建一個默認的表單結構體(如果沒有的話),但這看起來像一個醜陋的黑客攻擊,我擔心它實際上會在變量或CFC的這個範圍內創建表單結構體。也許這是一個合法的錯誤?
注意:這隻發生在我請求WSDL時,如果我直接調用方法 - 代碼按預期方式執行沒有問題。
更新: Application.cfc代碼示例 - 只需將任何CFC添加到您的應用程序並請求它與?wsdl
以查看此問題。這已經過測試(和失敗的)上的ColdFusion 7和ColdFusion 8
<cfcomponent output="false">
<cffunction name="OnApplicationStart" access="public" returntype="boolean" output="false" hint="Fires when the application is first created.">
<cfset application.dsn = "my_dsn" />
<cfreturn true />
</cffunction>
<cffunction name="OnRequestStart" access="public" returntype="boolean" output="false" hint="Fires at first part of page processing.">
<cfargument name="TargetPage" type="string" required="true" />
<cfif structKeyExists(form,'resetappvars')>
<cfset OnApplicationStart() />
</cfif>
<cfreturn true />
</cffunction>
</cfcomponent>
你認爲你有一個案件的問題,如果你不在Windows上,甚至與我的經驗與鐵路我有很多奇怪的問題與案件轉換,不得不在一些下水溝駝峯一起。 – ethyreal 2009-07-30 16:12:55