Справка по исключениям ColdFusion:coldfusion.runtime.NoOperScope нельзя привести к coldfusion.runtime.ApplicationScope

StackOverflow https://stackoverflow.com/questions/417843

  •  03-07-2019
  •  | 
  •  

Вопрос

Я обнаружил причину исключения в строке CFINVOKEARGUMENT следующего фрагмента:

<CFOUTPUT query="cfmx.Messages"><CFSILENT>
<CFINVOKE component="com_VUI_RemoveIllegalChars" method="formatString" returnvariable="cfmx.formattedMessage">
   <CFINVOKEARGUMENT name="inString" value="#TTSText#">
</CFINVOKE>
</CFSILENT>

Точный текст исключения:

Ошибка поднятия объекта типа ColdFusion.Runtime.NooperScope не может быть поднят в ColdFusion.Runtime.ApplicationsCope к несовместимому типу.Это обычно указывает на ошибку программирования в Java, хотя это также может означать, что вы попытались использовать посторонний объект другим способом, чем он был разработан.Coldfusion.Runtime.NooperScope не может быть поднят в ColdFusion.Runtime.ApplicationScope

Примечания:

  • cfmx.Messages — это объект, возвращаемый в CFPROCRESULT, и при проверке с помощью CFDUMP он действительно содержит ожидаемые данные.
  • com_VUI_RemoveIllegalChars вообще не изменился
  • TTSText — допустимый столбец в наборе результатов.
  • Я подозреваю, что это может быть проблема с конфигурацией ColdFusion.

Заранее благодарим всех, кто может пролить свет на причину этой проблемы.

РЕДАКТИРОВАТЬ:Полный дамп из журнала исключений:

«Ошибка», «jrpp-11», «01/06/09», «15:11:37», «Coldfusion.Runtime.NooperScope не может быть поднят в ColdFusion.Runtime.Applicationscope Специальная последовательность файлов включенных или обработанных является:C: inetpub wwwroot ermsvui proc_playsitestatus.cfm, строка:30 "java.lang.classcastException:ColdFusion.Runtime.NooperScope нельзя поднять на ColdFusion.Runtime.ApplicationsCope на ColdFusion.Runtime.RuntimeserviceImpl.getFullTagname (RunTimeServiceImpl.java:625) на Coldfusion.Runtime.TemptAtePRoxyFuctory.GetFulname (TemplateProxfuse.jruntime.jemplateProxyfortory.getfulname (templateProxfuse.jruntime. EmplateProxyFactory .resolvename (TemplateProxyFactory.java:184) на Coldfusion.Runtime.TemplateProxyFactory.Resolvename (TemplateProxyFactory.java:157) at coldfusion.runtime.templateProxyFactory.Resolvename (TemplateProxyFactory.javaRision.Raseprision.Raseprision.RasePARINASE.RATERIMESTARISEMANGEMARISE. ory.resolvename (TemplateProxyFactory. Java: 1218) на Coldfusion.tagext.lang.invoketag.doendtag (invoketag.java:358) на cfproc_playsitestatus2ecfm1824676963.runpage (c: inetpub wwwwroot ormsvui procliseState. Jsppage.invoke ( Cfjsppage.java:192) at coldfusion.tagext.lang.includetag.dostarttag (includeTag.java:366) на Coldfusion.filter.cfincludefilter.invoke (cfincludefilter.java:65) at coldfilter.plication.aplication. : 279) на Coldfusion.filter.RequestmonitorFilter.invoke (requestMonitorFilter.java:48) на Coldfusion.filter.MonitoringFilter.invoke (MonitoringFilter.java:40) на Coldfusion.filter.pathfilter.invoke (Pathfilter.java:86). .filter.licensefilter.invoke (Licensefilter.java:27) на ColdFusion.Filter.ExceptionFilter.invoke (ExceptionFilter.java:70) на ColdFusion.Filter.ClientScopePersistenceFilter.invoke (clientscopesistenceFilterSistenceFilterSistenceFilter invoke (browserfilter.java:38) по адресу coldfusion.filter.nocachefilter.invoke (nocachefilter.java:46) по адресу coldfusion.filter.globalsfilter.invoke (globalsfilter.java:38) на Coldfusion.filter.dataSourcefilter.InVokefilter.Invokefilter.Invokefilter.Invokefilter.Invokefilter.In -Java:38) на ColdFusion.filter.dataSourcefilter.In -Java:38). : 22) на coldfusion.cfmservlet.service (cfmservlet.java:175) на Coldfusion.bootstrap.bootstrapservlet.service (Bootstraperservlet.java:89) at jrun.servlet.monorit .event.monitoringservletfilter.dofilter (monitoringservletfilter.java:42) на Coldfusion.bootstrap.bootstrapfilter.dofilter (bootstrapfilter.java:46) на jrun.servlet.filterchain.dofilter (filterchain.java:94.shun Служба (FilterChain.java:101) на jrun.servlet.servletinvoker.invoke (servletinvoker.java:106) по адресу jrun.servlet.jruninvokerchain.invokenext (jruninvokerchain.java:42) jrun.servlet.jrunReclathr ава : 284) на jrun.servlet.servletengineservice.dispatch (ServletingNigneservice.java:543) по адресу jrun.servlet.jrpp.jrunproxyservice.invokerunnable (jrunproxyservice.java:203) At jrunx.scheduler.thready. : 320) на jrunx.scheduler.threadpool $ threadthrottle.invokerulable (threadpool.java:428) на jrunx.scheduler.threadpool $ upstreammetrics.invokerunnable (thratepool.java:266) at jrunx.scheduler )

Приведенный выше фрагмент кода содержит строки 28–32 файла proc_playsitestatus.cfm.

РЕДАКТИРОВАТЬ:

Значение текста TTS в этом случае: «Сообщение для проверки»

Источник com_VUI_RemoveIllegalChars:

<CFCOMPONENT displayname="Format a string for use in VoiceXML" hint="returns a string formatted for voiceXML" output="yes">
    <CFFUNCTION name="formatString" access="public" returntype="string" displayname="Format String" hint="Formats String for VoiceXML">
        <cfargument name="inString" type="string" required="true" displayname="input string" hint="pass in the string to be formatted">
        <CFSET v.messageWithoutChars = replace(inString, "<", "", "all")>
        <CFSET v.messageWithoutChars = replace(v.messageWithoutChars, ">", "", "all")>
        <CFSET v.messageWithoutChars = replace(v.messageWithoutChars, "&", "and", "all")>
        <CFSET v.messageWithoutChars = REReplace(v.messageWithoutChars, "\.+", ".", "all")>
        <CFSET v.messageWithoutChars = replace(v.messageWithoutChars, "!", ".", "all")>
        <CFSET v.messageWithoutChars = replace(v.messageWithoutChars, "\", " ", "all")>
        <CFSET v.messageWithoutChars = replace(v.messageWithoutChars, "/", " ", "all")>
        <CFSET v.messageWithoutChars = REReplace(v.messageWithoutChars, "[[:punct:]]{2,}", " ", "all")>
        <cfreturn v.messageWithoutChars>
    </CFFUNCTION>
</CFCOMPONENT>
Это было полезно?

Решение 2

Параметр «Включить переменные приложения» не был включен в конфигурации ColdFusion.

Другие советы

Вы уверены насчет этой строки №?Я думаю, что ошибка в самом методе CFC.Можете ли вы это проверить и, если я прав, опубликовать строку из метода CFC?

Без содержания com_VUI_RemoveIllegalChars компонент и стоимость TTSText переменная, здесь вы не даете нам многого.Не могли бы вы опубликовать их?(Я понимаю, что иногда вы не можете этого сделать по причинам, связанным с соглашением о неразглашении/и т. д.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top