Проблема: при запросе WSDL для CFC возникает следующая ошибка: Переменная FORM не определена. Это происходит в этой строке кода в методе OnRequestStart в Application.cfcТестирование на наличие области или структуры FORM в ColdFusion
<cfif structKeyExists(form,'resetappvars')>
<cfset OnApplicationStart() />
</cfif>
Если запросить конкретный метод, он отлично работает. Я рассмотрел использование cfparam для создания структуры по умолчанию, если он не существует, но это кажется уродливым взломом, и я беспокоюсь, что он фактически создаст структуру формы в переменных или в этой области CFC. Может, это и законная ошибка?
Примечание: Это происходит, когда я запрашиваю WSDL, если я вызываю метод напрямую - код выполняется как ожидалось без проблем.
Обновление: Образец примера приложения.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>
Вы считаете, что у вас проблема с корпусом, если вы не на окнах, и даже с моим опытом работы с рельсо, у меня было много странной проблемы с преобразованием случая, вам придется в какой-то обсадной канаве camelCase все вместе. – ethyreal