Thanks for the reply, I've updated to the ColdBox nightly build,
created a new "Advanced" ColdBox application using the ColdFusion
Builder extension and I get a different error now.
The handlers directory:
C:\xampp\htdocs\cb_skeleton\test\integration\handlers does not exist
please check your application structure or your Application Mapping.
The error occurred in C:\xampp\htdocs\coldbox\system\core\util\Util.cfc: line 67
Called from C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc: line 277
Called from C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc: line 36
Called from C:\xampp\htdocs\coldbox\system\services\LoaderService.cfc: line 98
Called from C:\xampp\htdocs\coldbox\system\Coldbox.cfc: line 65
Called from C:\xampp\htdocs\cb_skeleton\Application.cfc: line 35
65 : <cfargument name="type" type="string" required="no"
default="Framework">
66 : <!--- ************************************************************* --->
67 : <cfthrow type="#arguments.type#" message="#arguments.message#"
detail="#arguments.detail#">
68 : </cffunction>
69 :
Browser Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)
AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.25 Safari/532.0
Remote Address 127.0.0.1
Referrer
Date/Time 15-Oct-09 08:46 AM
Stack Trace
at cfUtil2ecfc662210879$funcTHROWIT.runFunction(C:\xampp\htdocs\coldbox\system\core\util\Util.cfc:67)
at cfHandlerService2ecfc1638307594$funcREGISTERHANDLERS.runFunction(C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc:277)
at cfHandlerService2ecfc1638307594$funcONCONFIGURATIONLOAD.runFunction(C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc:36)
at cfLoaderService2ecfc1863477479$funcCONFIGLOADER.runFunction(C:\xampp\htdocs\coldbox\system\services\LoaderService.cfc:98)
at cfColdbox2ecfc1334215415$funcLOADCOLDBOX.runFunction(C:\xampp\htdocs\coldbox\system\Coldbox.cfc:65)
at cfApplication2ecfc83660629$funcONAPPLICATIONSTART.runFunction(C:\xampp\htdocs\cb_skeleton\Application.cfc:35)
coldfusion.runtime.CustomException: The handlers directory:
C:\xampp\htdocs\cb_skeleton\test\integration\handlers does not exist
please check your application structure or your Application Mapping.
at coldfusion.tagext.lang.ThrowTag.doStartTag(ThrowTag.java:142)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2722)
at cfUtil2ecfc662210879$funcTHROWIT.runFunction(C:\xampp\htdocs\coldbox\system\core\util\Util.cfc:67)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:490)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:336)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
at cfHandlerService2ecfc1638307594$funcREGISTERHANDLERS.runFunction(C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc:277)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:220)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)
at cfHandlerService2ecfc1638307594$funcONCONFIGURATIONLOAD.runFunction(C:\xampp\htdocs\coldbox\system\services\HandlerService.cfc:36)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:490)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:336)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
at cfLoaderService2ecfc1863477479$funcCONFIGLOADER.runFunction(C:\xampp\htdocs\coldbox\system\services\LoaderService.cfc:98)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:490)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:336)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
at cfColdbox2ecfc1334215415$funcLOADCOLDBOX.runFunction(C:\xampp\htdocs\coldbox\system\Coldbox.cfc:65)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:220)
at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2582)
at cfApplication2ecfc83660629$funcONAPPLICATIONSTART.runFunction(C:\xampp\htdocs\cb_skeleton\Application.cfc:35)
at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:472)
at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
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:220)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:490)
at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:336)
at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:88)
at coldfusion.runtime.AppEventInvoker.onApplicationStart(AppEventInvoker.java:211)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:224)
at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:138)
at coldfusion.xml.rpc.CFCServlet.doGet(CFCServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Thanks for the reply. Unfortunately, adding the Application.cfc
doesn't solve the handlers does not exist error I was getting. When I
call the url with of without Application.cfc in the test directory I
get:
The handlers directory:
redirect:\cb_skeleton\index.cfm\\cb_skeleton\test\integration\handlers
does not exist please check your application structure or your
Application Mapping.
I don't have any mappings set up and I did a refresh install of
ColdFusion 9 to make sure. I've attached the skeleton ColdBox 3
application I'm using to test.
I ran your code and still get errors, so I think it must be something about my set up. For your info; I’m running on Windows, using Apache and ColdFusion 9 as a standalone install.
I’ve been stepping through the code and one thing that struck me as odd is that on line C:\xampp\htdocs\coldbox\system\testing\BaseTestCase.cfc:63
var appRootPath = expandPath(instance.AppMapping);
The variables is being set to “C:\ColdFusion9\wwwroot”. instance.AppMapping is a blank string. That path is my ColdFusion install, not my webroot. As you can see, the code being executed is C:\xampp\htdocs\coldbox\system\testing\BaseTestCase.cfc.
Weird. I will dig deeper and see if I can find out anymore.
I’ve tested this code on a couple of windows servers (CF8 & 9) and get the same thing.
#ExpandPath(“”)# // returns CF web root (C:\ColdFusion9\wwwroot)
#ExpandPath(“/”)# // returns application web root (C:*apache***htdocs)
So, if I don’t add the appMapping annotation, or use appMapping=“” (as I’m running from the webroot), it fails. Throwing the error:
“HandlerService.HandlersDirectoryNotFoundException: The handlers directory: redirect:\cb_skeleton\index.cfm\cb_skeleton\test\integration\handlers does not exist please check your application structure or your Application Mapping.”
However if I do appMapping=“/” (or a sub folder like “/cb_skeleton”) it is fine.
That’s why Windows is great - always keeps you on your toes
I did modify the setup() method of BaseTestCase.cfc to trap it when I was debugging and that seemed to do the trick. The extra code is minimal so personally I’d add it. I can guarantee that someone won’t read the docs first.