ColdFusion例外的帮助:coldfusion.运行时间。NoOperScope无法转换为coldfusion.运行时间。ApplicationScope
-
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.运行时间。NoOperScope不能 被扔到 coldfusion.运行时间。ApplicationScope到 一个不兼容的类型。这通常 表明一个程序错误, 尽管它可能也意味着你 试图利用国外的对象在一个 不同的方式比设计的。coldfusion.运行时间。NoOperScope不能 被扔到 coldfusion.运行时间。ApplicationScope
注:
- cfmx.消息的一个目的是返回的一个CFPROCRESULT,并应审查通过CFDUMP它确实包含的预期数据
- com_VUI_RemoveIllegalChars没有改变所有
- TTSText是一个有效的柱的结果集中
- 我怀疑的是,这可能是一个ColdFusion配置问题
在此先感谢任何人可以摆脱任何什么光可能是造成这个问题。
编辑:完整的转储从外日志:
"错误","jrpp-11","01/06/09","15:11:37",,"coldfusion.运行时间。NoOperScope 不能投给 coldfusion.运行时间。ApplicationScope 特定序列的文件 包括或处理的是:C:\Inetpub\wwwroot\ermsvui\proc_playsitestatus.cfm, 行:30" java。郎。ClassCastException:coldfusion.运行时间。NoOperScope不能 被扔到 coldfusion.运行时间。ApplicationScope 在 coldfusion.运行时间。RuntimeServiceImpl.getFullTagName(RuntimeServiceImpl.java:625) 在 coldfusion.运行时间。TemplateProxyFactory.getFullName(TemplateProxyFactory.java:1082) 在 coldfusion.运行时间。TemplateProxyFactory.resolveName(TemplateProxyFactory.java:184) 在 coldfusion.运行时间。TemplateProxyFactory.resolveName(TemplateProxyFactory.java:157) 在 coldfusion.运行时间。TemplateProxyFactory.resolveName(TemplateProxyFactory.java:第1267号决议所设) 在 coldfusion.运行时间。TemplateProxyFactory.resolveName(TemplateProxyFactory.java:1218) 在 coldfusion.tagext.郎。InvokeTag.doEndTag(InvokeTag.java:358) 在 cfproc_playsitestatus2ecfm1824676963.runPage(C:\Inetpub\wwwroot\ermsvui\proc_playsitestatus.cfm:30) 在 coldfusion.运行时间。CfJspPage.援引(CfJspPage.java:192) 在 coldfusion.tagext.郎。IncludeTag.doStartTag(IncludeTag.java:366) 在 coldfusion.滤波器。CfincludeFilter.援引(CfincludeFilter.java:65) 在 coldfusion.滤波器。ApplicationFilter.援引(ApplicationFilter.java:279) 在 coldfusion.滤波器。RequestMonitorFilter.援引(RequestMonitorFilter.java:48) 在 coldfusion.滤波器。MonitoringFilter.援引(MonitoringFilter.java:40) 在 coldfusion.滤波器。PathFilter.援引(PathFilter.java:86) 在 coldfusion.滤波器。LicenseFilter.援引(LicenseFilter.java:27) 在 coldfusion.滤波器。ExceptionFilter.援引(ExceptionFilter.java:70) 在 coldfusion.滤波器。ClientScopePersistenceFilter.援引(ClientScopePersistenceFilter.java:28) 在 coldfusion.滤波器。BrowserFilter.援引(BrowserFilter.java:38) 在 coldfusion.滤波器。NoCacheFilter.援引(NoCacheFilter.java:46) 在 coldfusion.滤波器。GlobalsFilter.援引(GlobalsFilter.java:38) 在 coldfusion.滤波器。DatasourceFilter.援引(DatasourceFilter.java:22) 在 coldfusion.CfmServlet.服务(CfmServlet.java:175) 在 coldfusion.引导。BootstrapServlet.服务(BootstrapServlet.java:89) 在 jrun。servlet。FilterChain.doFilter(FilterChain.java:86) 在 coldfusion.监测。事件。MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) 在 coldfusion.引导。BootstrapFilter.doFilter(BootstrapFilter.java:46) 在 jrun。servlet。FilterChain.doFilter(FilterChain.java:94) 在 jrun。servlet。FilterChain.服务(FilterChain.java:101个) 在 jrun。servlet。ServletInvoker.援引(ServletInvoker.java:106) 在 jrun。servlet。JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) 在 jrun。servlet。JRunRequestDispatcher.援引(JRunRequestDispatcher.java:284) 在 jrun。servlet。ServletEngineService.调度(ServletEngineService.java:543) 在 jrun。servlet。jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203) 在 jrunx.调度程序。线程池$DownstreamMetrics.invokeRunnable(线程池.java:320) 在 jrunx.调度程序。线程池$ThreadThrottle.invokeRunnable(线程池.java:428) 在 jrunx.调度程序。线程池$UpstreamMetrics.invokeRunnable(线程池.java:266) 在 jrunx.调度程序。放.运行(放.java:66)
上述代码段包含线28-32proc_playsitestatus.cfm
编辑:
值的合成文本是这种情况下是"消息测试是"
来源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配置。
其他提示
你确定这条线#?我认为错误是在氟氯化碳方法本身。你可以检查,并且如果我是正确的,后行从氟氯化碳的方法?
没有内容 com_VUI_RemoveIllegalChars
成分和价值的 TTSText
可变的,你不给我们很多去,这里.你可以发布这些?(我的理解是,有时候,你不能NDA/等原因)