Coldfusion Exception Help : 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 구성 문제 일 수 있다는 것입니다.

이 문제를 일으킬 수있는 것에 대해 조명을 발휘할 수있는 사람에게 미리 감사드립니다.

편집 : 예외 로그에서 덤프를 완료합니다.

"ERROR", "JRPP-11", "01/06/09", "15:11:37", "ColdFusion.Runtime.NoopersCope는 ColdFusion.Runtime.Runtime에 캐스팅 할 수 없습니다. 포함 또는 처리 된 특정 파일의 특정 시퀀스 is : c : inetpub wwwroot ermsvui proc_playsitestatus.cfm, line : 30 "java.lang.classcastexception : coldfusion.runtime.nooperscope coldfusion.runtime.runtimeservplpl (runteMplpl)으로 캐스트 할 수 없습니다. java : 625)에서 coldfusion.runtime.templateproxyfactory.getfullname (templateproxyfactory.java:1082) at coldfusion.runtime.templateproxyfactory.resolvename (templateproxyfactory.java:184) at Coldfusion.runtime.templateploplox. coldfusion.runtime.templateproxyfactory.resolvename (coldfusion.runtime.templateproxyfactory.resolvename.java:1218)의 coldfusion.tageporccecporicfcor)의 copcetag.endtag (C : inet pub wwwroot ermsvui proc_playsitestatus.cfm : 30)에서 coldfusion.runtime.cfjsppage.invoke (cfjsppage.java:192) at coldfusion.tagext.lang.includetag.dostarttag (includeTag.java:366) at colduc. .invoke (cfincludefilter.java:65)에서 coldfusion.filter.filter.applicationfilter.invoke (applicationfilter.java:279)에서 coldfusion.filter.requestmonitorfilter.invoke (requestmonitorfilter.java:48)의 Coldfusion.filter. Coldfusion.filter.pathfilter.invoke (warlfusion.filter.filter.licensefilter.invoke (liclefilter.java:27)의 Coldfusion.filter.pathfilter.invoke (atherfilter.java:27)에서 Java : 40) a a ColdFusion.Filter.Filter.ExceptionFilter.Invoke (ExceptionFilter.java:70) at coldfusion.filter.clientscopepersistencefilter.invoke (coldfusion.filter.filter.browserfilter.invoke (browserfilter.java:38)의 Coldfusion.filter.invoke (nocachefilter.invoke.invoke.invoke.invoke)의 acachefilter.fuilter.fuilter. .invoke (globalsfilter.java:38)에서 coldfusion.filter.datasourcefilter.invoke (dat coldfusion.cfmservlet.service (cfmservlet.java:175)에서 asourcefilter.java:22) at Coldfusion.bootstrap.bootstrapservlet.service (bootstrapservlet.java:89) at jrun.servlet.filterchain.dofilter (filterchain.java:86) at coldfusion.monitor.event.monitoringservletfilter.dofilter (coldfusion.bootstrap.bootstrapfilter.dofilter (bootstrapfilter.java:46)의 jrun.servlet.filterchain.dofilter (filterchain.java). .filterchain.service (filterchain.java:101)에서 jrun.servlet.servletinvoker.invoke (servletinvoker.java:106) at jrun.servlet.jruninvokerchain.invokenext (jruninvokerchain.java:42) at Jrunevlet.servlet.servlet.servlet.servlet.servlet.servlet.servlet.servlet.servlet.servle. jrun.servlet.servletengineservice.dispatch에서 jrunrequestdispatcher.java:284) jrun.servlet.jrpp.jrunproxyservice.invokerunnable (jrunproxyservice.java:203) at JrunproxyService.invokerUnnable (jrunceTuLOl.JrUnProxyService.java:203). .java : 320) jrunx.scheduler.threadpool $ threadthrottle.invokerunn jrunx.scheduler.threadpool $ upstreammetrics.invokerUnnable (threadpool.java:266)의 jrunx.scheduler.workerthread.run (workerthread.java:66)의 able (threadpool.java:428).

위의 코드 스 니펫에는 Proc_playsitestatus.cfm의 28-32 행이 포함되어 있습니다.

편집하다:

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

콜드 퓨전 구성에서 "애플리케이션 변수 활성화"설정이 활성화되지 않았습니다.

다른 팁

그 라인 #에 대해 확신하십니까? 오류가 CFC 메소드 자체에 있다고 생각합니다. 당신은 그것을 확인할 수 있고 내가 옳다면 CFC 방법에서 줄을 게시 할 수 있습니까?

내용없이 com_VUI_RemoveIllegalChars 구성 요소와 값 TTSText 가변적, 당신은 우리에게 계속해서 계속할 수 없습니다. 당신은 그것들을 게시 할 수 있습니까? (때때로 당신은 NDA 등을 할 수 없다는 것을 알고 있습니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top