Copy link to clipboard
Copied
I had a similar problem about a year ago (Re: It used to work and now it doesn't). The quick and dirty solution was to create the secure.common directory in the calling directory. This time, that doesn't work. I am at a loss as to what to do. I am running CF10 on a Windows Server 2008.
OK. But it makes it really hard for anyone to help when the code is a moving target...
I have to dash to a meeting right now, but I'll try to jump back in in an hour or so.
Copy link to clipboard
Copied
![]()
<cftry>
... CODE FOR TESTING ...
<cfcatch>
<cfdump var="#cfcatch#" />
</cfcatch>
</cftry>
There CANNOT be anything between the closing </cfcatch> and the closing </cftry>. <cfcatch> must be the last of anything within the <cftry> tag. Anything else will error.
HTH,
^_^
Copy link to clipboard
Copied
I had just found a similar example when the e-mail notification came in for this post! I tried it in all the .cfm files I thought were generating the error (one at a time) and still get only the 500 error. I have requested that the gov't sysadmin send me a copy of the CF log and turn on debugging for my IP to hopefully shed light as to what module is actually throwing the error. Baby steps. Thanx!
Copy link to clipboard
Copied
Actually, it didn't occur to me until just now. A 500 error is a web server error, so it's not even getting to CF. The error message should be in the web server log, not a CF log.
HTH,
^_^
Copy link to clipboard
Copied
I just found that also... no worries. Thank you.
Copy link to clipboard
Copied
I got the IIS log from the sysadmin. I parsed it out in Excel and nothing really stands out, except, the cs-uri-stem shows the directory weird: (i.e.- root//secure/Requirement/module.cfm... not the double //) Any chance that could cause a problem? The // isn't assigned anywhere in the code I can find using AstroGrep. Thanx.
Copy link to clipboard
Copied
I hate to say it, but I know nothing about IIS. Hopefully someone who is familiar with IIS can help with that.
V/r,
^_^
Copy link to clipboard
Copied
No worries. I tend to think brute forcing this thing started the 500. Since I don't have hands on the IIS or CF servers, I think I will go back to working with the #datasource# issue I had prior. Thanx for the help. More as I know it.
Copy link to clipboard
Copied
Restored from back up. Cleared cache, cookies, and stuff in the browser and tried again... still getting 500. Not sure what to do, More research...
Copy link to clipboard
Copied
Assuming you are using IE, do you have "Show friendly HTTP error messages" turned off?
In ColdFusion Administrator, on the Settings page, do you have "Enable HTTP status codes" turned on? Actually, I'm assuming that you do since you are getting a 500 error.
Is IIS configured to display "detailed" or "custom" error pages for 500 errors?
Copy link to clipboard
Copied
No I use Firefox and did the equivalent thing for friendly messages. I just tried it in IE and got the same results.
I have no access to the CF Admin page or IIS. I'll have to contact the gov't sysadmin and get that information. Thanx!
Copy link to clipboard
Copied
I had the sysadmin give me more detailed errors. The 500 error went away immediately. Now I get the old error: Element DATASOURCE is undefined in THIS.
this.datasource is set in application.cfc
I did a cfdump at the start of the calling routine and the datasource is correct. What have I done wrong?
Copy link to clipboard
Copied
Can you post your current application.cfc (the relevant bits anyway) and the actual stack trace of the error (line number would be helpful).
Copy link to clipboard
Copied
It's probably obvious, but I don't see it...
Application.cfc
<cfcomponent>
<cfset this.name = "TSTTransfer_XYZ3">
<cfset this.datasource="TSTtprod2">
<cfset this.sessionmanagement="True">
<cfset this.sessionTimeout = createTimeSpan(0,0,45,0)>
<cfset this.loginstorage="session">
<cfset this.mappings = {}>
<cfset this.mappings["/secure"] = "TSTt-Dev\XYZ_New\secure">
<cffunction
name="OnApplicationStart"
access="public"
returntype="boolean"
output="false"
hint="Fires when the application is first created.">
<cfset application.datasource="TSTtprod2">
<cfreturn true />
</cffunction>
<cffunction name = "onRequest">
<cfargument name="TargetPage" type="string" required="true" />
<cfset datasource=#application.datasource#>
<cfset fileroot="\TSTt-Dev\XYZ_New\secure\Requirement\">
<cfset authfileroot="\TSTt-Dev\XYZ_New\secure\Authorization\">
<cfset myCGI="#CGI.PATH_INFO#">
<cfset sessions.CurrentXYZFY=2018>
<!--- Include the requested page. --->
<!---<cflog file="myAppLog" application="no" text="onrequest(): direct page to (#ARGUMENTS.TargetPage#)">---->
<cfinclude template="#ARGUMENTS.TargetPage#" />
</cffunction>
<cffunction name="OnRequestStart">
<cfargument name = "request" required="true"/>
<cfif IsDefined("Form.logout") or IsDefined("url.logout")>
<!---<cflog file="#this.name#" application="no" text="OnRequestStart(): logout (#request#)">---->
<cflogout>
<cfset StructClear(Session)>
<cfoutput>
<SCRIPT language="JavaScript"> top.location.replace("#application.HomeRoot#/index.cfm"); </SCRIPT>
</cfoutput>
<cfreturn false />
</cfif>
<cflogin>
<cfif not isDefined('cflogin')>
<!---<cflog file="#this.name#" application="no" text="OnRequestStart(): login not found (#request#)">----->
<cfoutput>
<SCRIPT language="JavaScript"> top.location.replace("#application.HomeRoot#/index.cfm?sess_expired"); </SCRIPT>
</cfoutput>
<cfreturn false />
<cfelse>
<!---<cflog file="#this.name#" application="no" text="OnRequestStart(): login is found (#request#)">--->
<cfif cflogin.name IS "" OR cflogin.password IS "">
<!---<cflog file="#this.name#" application="no" text="OnRequestStart(): username/pass are missing (#request#)"> ---->
<cfoutput>
<SCRIPT language="JavaScript"> top.location.replace("#application.HomeRoot#/index.cfm?badlogin"); </SCRIPT>
</cfoutput>
<cfreturn false />
<cfelse>
<cfset PasswordHash = hash(#cflogin.password#)>
<cfquery name="loginQuery" dataSource="#application.datasource#">
SELECT secureUserID,userName,userStatus,userLevel,userPassword FROM Users
WHERE
userName = '#cflogin.name#'
AND userPassword = '#PasswordHash#'
</cfquery>
<cfif loginQuery.userStatus NEQ 'Retired'>
<cfif loginQuery.RecordCount EQ 1>
<cfloginuser name="#loginQuery.userName#" Password = "#loginQuery.userPassword#" roles="#loginQuery.userLevel#">
<!---<cflog file="#this.name#" application="no" text="User #loginQuery.userName# logged on.">---->
<cfelse>
<cfoutput>
<SCRIPT language="JavaScript"> top.location.replace("#application.HomeRoot#/index.cfm?badlogin"); </SCRIPT>
</cfoutput>
<cfreturn false />
</cfif>
<cfelse>
<!---<cflog file="#this.name#" application="no" text="OnRequestStart(): login not successful (#request#)">---->
<cfoutput>
<SCRIPT language="JavaScript"> top.location.replace("#application.HomeRoot#/index.cfm?retired_id"); </SCRIPT>
</cfoutput>
<cfreturn false />
</cfif>
</cfif>
</cfif>
</cflogin>
<cfif GetAuthUser() NEQ "">
<cfif not isdefined('session.secureUserID')>
<cfset a =ini_session(#GetAuthUser()#)>
<cfelse>
<!---<cflog file="#this.name#" application="no" text="session.secureUserID is found, proceed to page (#request#)">---->
</cfif>
<cfreturn true />
</cfif>
<cfreturn false />
</cffunction>
<cffunction name="OnError" access="public" returntype="void" output="true" hint="Fires when an exception occures that is not caught by a try/catch block">
<cfargument name="exception" type="any" required="true">
<cfargument name="eventName" type="string" required="true">
<cfset var errortext = "">
<cfset var redirectUrl= "../index.cfm">
<cfset application.datasource="TSTtprod2">
<cfif arguments.exception.rootCause eq "coldfusion.runtime.AbortException">
<cfreturn/>
</cfif>
<!---<cflog file="#this.name#_ErrorLog" text="#arguments.exception.message#">---->
<cfsavecontent variable="errortext">
<cfoutput>
An error occurred: http://#cgi.server_name##cgi.script_name#?#cgi.query_string#<br />
Time: #dateFormat(now(), "short")# #timeFormat(now(), "short")#<br />
</cfoutput>
<cfdump var="#arguments.exception#" label="Error">
<cfdump var="#form#" label="Form">
<cfdump var="#url#" label="URL">
</cfsavecontent>
<cfquery name="getID" datasource="#application.datasource#">
SELECT ERR_SEQ.NEXTVAL AS newID FROM dual
</cfquery>
<cfset NewErrorNumber=getID.newID>
<cfquery datasource="#application.datasource#" >
INSERT INTO ERR_LOG (ERR_ID ,ERR_DETAIL ,SECUREUSERID ,UPTIME,ERR_INFO )
VALUES (#NewErrorNumber#,'#left(arguments.exception.message,4000)#',#session.secureUserID# ,sysdate,<cfqueryparam value="#errortext#" cfsqltype="cf_sql_clob"/> )
</cfquery>
<cfmail to = "#application.DeveloperEmailList#" from = "XYZHelpDesk@here.com" subject = "(Error ID: #NewErrorNumber#) XYZ Error: #left(arguments.exception.message,100)#..." type="html">
<table><tr><td width="536">
This message is auto-generated by the XYZ Application. Please do not reply to this message. Given below are the details of the error that has been reported:
</td>
</tr></table>
<table width="100%">
<tr><td width="20%" style="word-break:break-all"><b>Error Number:</b></td>
<td width="80%" style="word-break:break-all"> #NewErrorNumber#</td>
</tr>
<tr><td><b>Submitted By:</b></td>
<td style="word-break:break-all"> #session.userName#</td>
</tr>
<tr><td><b>Submittor Email:</b></td>
<td style="word-break:break-all"> #session.email#</td>
</tr>
<tr><td><b>Brief Description:</b></td>
<td style="word-break:break-all">An error occurred: http://#cgi.server_name##cgi.script_name#?#cgi.query_string#<br />
Time: #dateFormat(now(), "short")# #timeFormat(now(), "short")#</td>
</tr>
<tr><td valign="top"><b>Detailed Description:</b></td>
<td style="word-break:break-all"><cfdump var="#arguments.exception#" expand="yes" showudfs="yes" label="Error" output="browser" format="text" metainfo="yes"></td>
</tr>
<tr><td valign="top"><b>Url Variables:</b></td>
<td style="word-break:break-all"><cfdump var="#form#" expand="yes" showudfs="yes" label="Error" output="browser" format="text" metainfo="yes"></td>
</tr>
<tr><td valign="top"><b>Form Variables:</b></td>
<td style="word-break:break-all"><cfdump var="#url#" expand="yes" showudfs="yes" label="Error" output="browser" format="text" metainfo="yes"></td>
</tr>
</table>
</cfmail>
<cfoutput>
<p>XYZ has experienced an error. XYZ Administrators have been notified and will coordinate with you in resolving the error.</p><p>Error #NewErrorNumber# - #arguments.exception.message#</p>
</cfoutput>
</cffunction>
<cffunction name="ini_session" output="no" returntype="boolean" verifyclient="no" securejson="false">
<cfargument name="userName" required="yes" type="string">
<!---<cflog file="#this.name#" application="no" text="ini_session():initial session variables">---->
<cfquery name="getusrinfo" dataSource="#application.datasource#">
SELECT * FROM Users
WHERE
userName = '#ARGUMENTS.userName#'
</cfquery>
<cflock scope = "Session" timeout = "5" type = "Exclusive">
<cfset session.secureUserID = #getusrinfo.secureUserID#>
<cfset session.logID = #getusrinfo.userName#>
<cfset session.email = #getusrinfo.email#>
<cfset session.userName = "#getusrinfo.firstName# #getusrinfo.lastName#">
<cfset session.UserLevel = #getusrinfo.userLevel#>
<cfset session.userRepresents = #getusrinfo.userRepresents#>
<cfset session.ProjctSummaryMajcom=#getusrinfo.userRepresents#>
<cfset session.ProjctSummaryLocation="All">
<cfset session.ProjctSummaryRound="All">
<cfset session.ProjctSummaryOAC="All">
<cfset session.BUDGETPROGRAMID="All">
<cfset session.ProjctSummaryBase="All">
<cfset session.ProjctSummaryStatus="All">
<cfset session.ProjctSummaryFundingStatus="All">
<cfset session.ProjctSummaryDecision="All">
<cfset session.ProjctReqLock="">
<cfset session.reportFY=2018>
</cflock>
<cfreturn true />
</cffunction>
<cffunction name="onMissingTemplate" hint="Fires when page not found" access="public" returnType="boolean" output="true">
<cfargument name="targetPage" type="string" required=true />
<cfset url.thepage="#urlEncodedFormat(arguments.targetPage)#">
<cfinclude template="404.cfm">
</cffunction>
</cfcomponent>
Stack Trace:
Error - struct
Cause:
[struct]
Detail: [empty string]
ErrNumber: 0
Message: Element DATASOURCE is undefined in THIS.
Resolvedname: THIS
StackTrace: coldfusion.runtime.UndefinedElementException: Element DATASOURCE is undefined in THIS.
at coldfusion.runtime.DotResolver.resolveSplitNameInMap(DotResolver.java:109)
at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1639)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1818)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1811)
at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:660)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:469)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2369)
at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:446)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2795)
at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:300)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:426)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:437)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)
Suppressed:
[array]
TagContext:
[array]
1) [struct]
COLUMN: 0
ID: CF_DOTRESOLVER
LINE: 62
RAW_TRACE: at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc
TYPE: CFML
2) [struct]
COLUMN: 0
ID: CF_TEMPLATEPROXY
LINE: 88
RAW_TRACE: at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
3) [struct]
COLUMN: 0
ID: CF_REQUIREMENTSUM
LINE: 1
RAW_TRACE: at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
4) [struct]
COLUMN: 0
ID: CFINCLUDE
LINE: 30
RAW_TRACE: at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
TEMPLATE: \\TST\XYZ_New\secure\Application.cfc
TYPE: CFML
Type: Expression
element: DATASOURCE
objectType:
[object of java.lang.Class]
Class Name: java.lang.Class
Methods:
asSubclass(java.lang.Class) returns java.lang.Class
cast(java.lang.Object) returns java.lang.Object
desiredAssertionStatus() returns boolean
forName(java.lang.String, boolean, java.lang.ClassLoader) returns java.lang.Class
forName(java.lang.String) returns java.lang.Class
getAnnotation(java.lang.Class) returns java.lang.annotation.Annotation
getAnnotations() returns java.lang.annotation.Annotation[]
getCanonicalName() returns java.lang.String
getClassLoader() returns java.lang.ClassLoader
getClasses() returns java.lang.Class[]
getComponentType() returns java.lang.Class
getConstructor(java.lang.Class[]) returns java.lang.reflect.Constructor
getConstructors() returns java.lang.reflect.Constructor[]
getDeclaredAnnotations() returns java.lang.annotation.Annotation[]
getDeclaredClasses() returns java.lang.Class[]
getDeclaredConstructor(java.lang.Class[]) returns java.lang.reflect.Constructor
getDeclaredConstructors() returns java.lang.reflect.Constructor[]
getDeclaredField(java.lang.String) returns java.lang.reflect.Field
getDeclaredFields() returns java.lang.reflect.Field[]
getDeclaredMethod(java.lang.String, java.lang.Class[]) returns java.lang.reflect.Method
getDeclaredMethods() returns java.lang.reflect.Method[]
getDeclaringClass() returns java.lang.Class
getEnclosingClass() returns java.lang.Class
getEnclosingConstructor() returns java.lang.reflect.Constructor
getEnclosingMethod() returns java.lang.reflect.Method
getEnumConstants() returns java.lang.Object[]
getField(java.lang.String) returns java.lang.reflect.Field
getFields() returns java.lang.reflect.Field[]
getGenericInterfaces() returns java.lang.reflect.Type[]
getGenericSuperclass() returns java.lang.reflect.Type
getInterfaces() returns java.lang.Class[]
getMethod(java.lang.String, java.lang.Class[]) returns java.lang.reflect.Method
getMethods() returns java.lang.reflect.Method[]
getModifiers() returns int
getName() returns java.lang.String
getPackage() returns java.lang.Package
getProtectionDomain() returns java.security.ProtectionDomain
getResource(java.lang.String) returns java.net.URL
getResourceAsStream(java.lang.String) returns java.io.InputStream
getSigners() returns java.lang.Object[]
getSimpleName() returns java.lang.String
getSuperclass() returns java.lang.Class
getTypeParameters() returns java.lang.reflect.TypeVariable[]
isAnnotation() returns boolean
isAnnotationPresent(java.lang.Class) returns boolean
isAnonymousClass() returns boolean
isArray() returns boolean
isAssignableFrom(java.lang.Class) returns boolean
isEnum() returns boolean
isInstance(java.lang.Object) returns boolean
isInterface() returns boolean
isLocalClass() returns boolean
isMemberClass() returns boolean
isPrimitive() returns boolean
isSynthetic() returns boolean
newInstance() returns java.lang.Object
toString() returns java.lang.String
Detail: An exception occurred while invoking an event handler method from Application.cfc. The method name is: onRequest.
Message: Event handler exception.
RootCause:
[struct]
Detail: [empty string]
ErrNumber: 0
Message: Element DATASOURCE is undefined in THIS.
Resolvedname: THIS
StackTrace: coldfusion.runtime.UndefinedElementException: Element DATASOURCE is undefined in THIS.
at coldfusion.runtime.DotResolver.resolveSplitNameInMap(DotResolver.java:109)
at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1639)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1818)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1811)
at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:660)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:469)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2369)
at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:446)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2795)
at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:300)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:426)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:437)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)
Suppressed:
[array]
TagContext:
[array]
1) [struct]
COLUMN: 0
ID: CF_DOTRESOLVER
LINE: 62
RAW_TRACE: at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc
TYPE: CFML
2) [struct]
COLUMN: 0
ID: CF_TEMPLATEPROXY
LINE: 88
RAW_TRACE: at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
3) [struct]
COLUMN: 0
ID: CF_REQUIREMENTSUM
LINE: 1
RAW_TRACE: at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
4) [struct]
COLUMN: 0
ID: CFINCLUDE
LINE: 30
RAW_TRACE: at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
TEMPLATE: \\TST\XYZ_New\secure\Application.cfc
TYPE: CFML
Type: Expression
element: DATASOURCE
objectType:
[object of java.lang.Class]
Class Name: java.lang.Class
Methods:
asSubclass(java.lang.Class) returns java.lang.Class
cast(java.lang.Object) returns java.lang.Object
desiredAssertionStatus() returns boolean
forName(java.lang.String, boolean, java.lang.ClassLoader) returns java.lang.Class
forName(java.lang.String) returns java.lang.Class
getAnnotation(java.lang.Class) returns java.lang.annotation.Annotation
getAnnotations() returns java.lang.annotation.Annotation[]
getCanonicalName() returns java.lang.String
getClassLoader() returns java.lang.ClassLoader
getClasses() returns java.lang.Class[]
getComponentType() returns java.lang.Class
getConstructor(java.lang.Class[]) returns java.lang.reflect.Constructor
getConstructors() returns java.lang.reflect.Constructor[]
getDeclaredAnnotations() returns java.lang.annotation.Annotation[]
getDeclaredClasses() returns java.lang.Class[]
getDeclaredConstructor(java.lang.Class[]) returns java.lang.reflect.Constructor
getDeclaredConstructors() returns java.lang.reflect.Constructor[]
getDeclaredField(java.lang.String) returns java.lang.reflect.Field
getDeclaredFields() returns java.lang.reflect.Field[]
getDeclaredMethod(java.lang.String, java.lang.Class[]) returns java.lang.reflect.Method
getDeclaredMethods() returns java.lang.reflect.Method[]
getDeclaringClass() returns java.lang.Class
getEnclosingClass() returns java.lang.Class
getEnclosingConstructor() returns java.lang.reflect.Constructor
getEnclosingMethod() returns java.lang.reflect.Method
getEnumConstants() returns java.lang.Object[]
getField(java.lang.String) returns java.lang.reflect.Field
getFields() returns java.lang.reflect.Field[]
getGenericInterfaces() returns java.lang.reflect.Type[]
getGenericSuperclass() returns java.lang.reflect.Type
getInterfaces() returns java.lang.Class[]
getMethod(java.lang.String, java.lang.Class[]) returns java.lang.reflect.Method
getMethods() returns java.lang.reflect.Method[]
getModifiers() returns int
getName() returns java.lang.String
getPackage() returns java.lang.Package
getProtectionDomain() returns java.security.ProtectionDomain
getResource(java.lang.String) returns java.net.URL
getResourceAsStream(java.lang.String) returns java.io.InputStream
getSigners() returns java.lang.Object[]
getSimpleName() returns java.lang.String
getSuperclass() returns java.lang.Class
getTypeParameters() returns java.lang.reflect.TypeVariable[]
isAnnotation() returns boolean
isAnnotationPresent(java.lang.Class) returns boolean
isAnonymousClass() returns boolean
isArray() returns boolean
isAssignableFrom(java.lang.Class) returns boolean
isEnum() returns boolean
isInstance(java.lang.Object) returns boolean
isInterface() returns boolean
isLocalClass() returns boolean
isMemberClass() returns boolean
isPrimitive() returns boolean
isSynthetic() returns boolean
newInstance() returns java.lang.Object
toString() returns java.lang.String
StackTrace: coldfusion.runtime.EventHandlerException: Event handler exception.
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:308)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:426)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
at coldfusion.CfmServlet.service(CfmServlet.java:219)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:437)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:722)
Caused by: coldfusion.runtime.UndefinedElementException: Element DATASOURCE is undefined in THIS.
at coldfusion.runtime.DotResolver.resolveSplitNameInMap(DotResolver.java:109)
at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1639)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1818)
at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1811)
at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:405)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:518)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:660)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:469)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2369)
at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:446)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2795)
at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:655)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:444)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:414)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:108)
at coldfusion.runtime.AppEventInvoker.onRequest(AppEventInvoker.java:300)
... 35 more
Suppressed:
[array]
TagContext:
[array]
1) [struct]
COLUMN: 0
ID: CF_DOTRESOLVER
LINE: 62
RAW_TRACE: at cfgetreqstatus2ecfc1002424275$funcGET_O_FLAGLIST.runFunction(\\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc:62)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\secure\Common\getreqstatus.cfc
TYPE: CFML
2) [struct]
COLUMN: 0
ID: CF_TEMPLATEPROXY
LINE: 88
RAW_TRACE: at cfrequirementsum2ecfm1492261863._factor10(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:88)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
3) [struct]
COLUMN: 0
ID: CF_REQUIREMENTSUM
LINE: 1
RAW_TRACE: at cfrequirementsum2ecfm1492261863.runPage(\\TST\XYZ_New\secure\Requirement\requirementsum.cfm:1)
TEMPLATE: \\TST\XYZ_New\secure\Requirement\requirementsum.cfm
TYPE: CFML
4) [struct]
COLUMN: 0
ID: CFINCLUDE
LINE: 30
RAW_TRACE: at cfApplication2ecfc158086648$funcONREQUEST.runFunction(\\TST\XYZ_New\secure\Application.cfc:30)
TEMPLATE: \\TST\XYZ_New\secure\Application.cfc
TYPE: CFML
Type: Expression
name: onRequest
Error - struct [empty]
Error - struct
CFID: 58019
CFTOKEN: 62654b27eae1feac-ADBEFB97-EFB3-35D2-E4350F8A800B932C
LISTBASE: All
LISTBPGM: All
LISTDELTA: All
LISTDROW: 10
LISTLOC: All
LISTMAJCOM: All
LISTORIGINAL: All
LISTSR: All
SEARCH_TXT: [empty string]
SORTASC: asc
SORTOBJECT: projectref
STARTROW: 1
frompage: orig
Thank you.
Copy link to clipboard
Copied
Stumped you too, huh? ![]()
Copy link to clipboard
Copied
Sorry, been offline until now. It looks like the problem is in your \secure\Requirement\secure\Common\getreqstatus.cfc at line 62. That line must reference "this.datasource", which is probably not what you want.
Keep in mind that the "this" scope only exists inside of an object instance of a CFC. So unless you define "this.datasource" in the pseudo-constructor (the part between <cfcomponent> and the first <cffunction>) or init() method of your getreqstatus.cfc, "this.datasource" won't exist inside that CFC. You could access "application.datasource" there instead, but that breaks the principle of encapsulation. It would be better to have an init() method that expects to receive a datasource name as an argument, then populates either "this.datasource" or "variables.datasource" with the value passed in the argument. Then you could refer to it elsewhere in your CFC (like at line 62) as "this.datasource" or "variables.datasource".
Copy link to clipboard
Copied
Right now, all I want to do is have the thing running error free. I changed all references to #this.datasource# to #datasource# and assigned datasouce shortly after the assignment for this,datasource. I have changed all references to the actual database name. Nothing has worked... As I have said, I am a ColdFusion novice. I thought assigning the variable datasource to the actual database name, the referencing each call as #datasource# would fix it... still not sure what to do. Sorry to be dense.
Copy link to clipboard
Copied
Can you show the code in the getreqstatus.cfc file?
And do you still have this:
<cfset application.datasource="TSTtprod2">
in the onApplicationStart() method of your Application.cfc? (If you do, leave it there for now. If not, put it back for now.)
Copy link to clipboard
Copied
<cfcomponent displayname="getreqstatus" hint="ColdFusion Component for getting requirement status">
<cffunction access="public" name="MakeProjStatusTable" output="no" hint="Return Requirement Project Status" verifyclient="no" securejson="false">
<cfargument name="DataSource" type="string" required="yes">
<CFQUERY datasource="#datasource#" >
delete from TEMP_ReqStatus
</cfquery>
<CFQUERY datasource="#datasource#" >
insert into TEMP_ReqStatus (projectref, O_FLAG)
select
projectref,
CASE
WHEN status||decision='DraftIn Progress' THEN 'Draft'
WHEN status||decision='SubmittedIn Progress' THEN 'Submitted'
ELSE decision
END as O_FLAG
from rm_project where decision <>'Cancelled' and draft in (select draft from users_draft where secureUserID=#session.secureUserID#)
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus
set (Last_Tran_ID,Last_Action_num,Last_Status,Last_Date) =
(select tran_ID, ACTION_NUM,status,action_DT
from FM_TRANSACTION
where tran_ID in (select max(tran_ID) from FM_TRANSACTION where projectref=TEMP_ReqStatus.projectref) )
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set Last_Status=1.5, D_Flag='Returned'
where Last_Status=0 and Last_Tran_ID in (select FM_TRANSACTION_COMMENTS.TRAN_ID FROM FM_TRANSACTION_COMMENTS
WHERE TRAN_ID = TEMP_ReqStatus.Last_Tran_ID
AND COMMENT_ORG = 'submitted')
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set Last_Status=3, D_Flag='Override'
where Last_Status=2 and Last_Tran_ID in (SELECT Tran_id FROM FM_TRANSACTION
WHERE TRAN_ID = TEMP_ReqStatus.Last_Tran_ID
AND status_old is not null)
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set D_Flag='N/A'
where (Last_Action_num=0 or Last_Action_num is null) and d_flag is null
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set D_Flag='Draft'
where Last_Status=0 and d_flag is null
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set D_Flag='Submitted'
where Last_Status=1 and d_flag is null
</cfquery>
<CFQUERY datasource="#datasource#" >
update TEMP_ReqStatus set D_Flag='Approved'
where Last_Status=2 and d_flag is null
</cfquery>
</cffunction>
<cffunction access="public" name="GET_O_FLAGLIST" output="yes" returntype="query" hint="return original status list" verifyclient="no" securejson="false">
<cfargument name="DataSource" type="string" required="yes">
<CFQUERY datasource="#datasource#" name="O_FLAG_List">
select 'All' as O_FLAG from dual
union select 'Draft' as O_FLAG from dual
union select 'Returned' as O_FLAG from dual
union select 'Submitted' as O_FLAG from dual
union select 'Approved' as O_FLAG from dual
</cfquery>
<cfreturn O_FLAG_List>
</cffunction>
<cffunction access="public" name="GET_D_FLAGLIST" output="yes" returntype="query" hint="return delta status list" verifyclient="no" securejson="false">
<cfargument name="DataSource" type="string" required="yes">
<CFQUERY datasource="#datasource#" name="D_FLAG_List">
select 'All' as D_FLAG from dual
union select 'N/A' as D_FLAG from dual
union select 'Draft' as D_FLAG from dual
union select 'Override' as D_FLAG from dual
union select 'Returned' as D_FLAG from dual
union select 'Submitted' as D_FLAG from dual
union select 'Approved' as D_FLAG from dual
</cfquery>
<cfreturn D_FLAG_List>
</cffunction>
</cfcomponent>
Yes, the application.datasource assignment is still there.
Copy link to clipboard
Copied
I was reading through the trace and noticed the secure/Requirement/secure/Common call to getreqstatus.cfc. The original problem was it could not find the getreqstatus.cfc file. I had a similar problem that needed an expedited solution last year, and I ended up making a duplicate of the Common directory within the calling directory. It found it and I was done. This time, it's had this error with this datasource. I know all these scopes give you a more robust tool, but the last time I coded (not CF), you'd assign the variable and it would stay that way until the session ended.
Copy link to clipboard
Copied
I don't see any reference to "this.datasource" in that code. Did you alter the CFC since the stack trace was taken?
Copy link to clipboard
Copied
Yes. In several attempts, I changed this.datasource to datasource and finally to the actually database name. Sorry about that.
Copy link to clipboard
Copied
OK. But it makes it really hard for anyone to help when the code is a moving target...
I have to dash to a meeting right now, but I'll try to jump back in in an hour or so.
Copy link to clipboard
Copied
I just realized that when you said there was no this.database. That would be the only change. Thank you for all your help.
Copy link to clipboard
Copied
I looked over the component and function code. I don't see any problem with the code as written. However, every function has a required "datasource" argument. That means that wherever in your application you call one of these functions, you MUST pass the datasource name in as an argument. I don't know how this component is being used in your application or how it is instantiated so it's difficult for me to say exactly how the code might need to be updated. However, you should be able to pass either "application.datasource" or "#application.datasource#" (depends on the context) as the argument for it to work.
Copy link to clipboard
Copied
That did it! I am still having the issue of it not finding something that is in /secure/Common/ without me putting another copy in the calling directory, but it worked!
The issue above is all the code for the application sits in a sub-directory of the root. Those getxxx.cfc files are in a sub-directory /secure/Common. The calling directory will not find the getxxx.cfc routines unless I create a sub-directory within the calling directory (i,e.- /secure/Authorization/secure/Common Not sure what's causing that, but unless that stops things, I will be leaving it as is. It works.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more