Access to transfer from onException

I'm fairly new to transfer, and loving it so far. However I've run
into a problem which has me stumped.

I'm trying to get access to a transfer object from within my
onException handler. Here's what I think is the pertinent code:

<cfcomponent name="main" extends="coldbox.system.eventhandler"
output="false" autowire="true">

  <cfproperty name="Transfer" type="ocm" scope="instance">

  ...

  <cffunction name="onException" access="public" returntype="void"
output="false">
    <cfargument name="Event" type="coldbox.system.beans.requestContext">

    <cfset var page = instance.transfer.readByProperty("admin.Page",
"urlFriendly", cgi.PATH_INFO)/>
    ...

It looks just like all my other attempts to autowire transfer into my
event handlers, which work fine. When I attempt to do so in the
exception handler though, I get the following error:

Error Messages: Element TRANSFER is undefined in a Java object of
type class [Ljava.lang.String;.

I've also tried the _wireme="ocm" approach, with the same results.

Is there any reason why autowire wouldn't work in an exception
handler? Any other way to get access to the transferLoader object?

Thanks,
-paul

Oops... saw the posting instructions after the fact.
Also, I meant to say "fairly new to Coldbox".

Coldbox 2.6.2 (although maybe that goes without saying since I'm using
transferLoader)
ColdFusion 8.0.1
Windows 2003

Here's my trace:

Oops! Exception Encountered
Error Running Custom Exception handler
Error Type: Expression : [N/A]
Error Messages: Element TRANSFER is undefined in ARGUMENTS.
Tag Context:
ID: CF_DOTRESOLVER
LINE: 57
Template: C:\websites\WorkPlaceMedia\htdocs\handlers\main.cfc
ID: CFINVOKE
LINE: 430
Template: C:\websites\_globalLibrary\framework\coldbox\2.6.2\system
\controller.cfc
ID: CF_TEMPLATEPROXY
LINE: 52
Template: C:\websites\_globalLibrary\framework\coldbox\2.6.2\system
\services\ExceptionService.cfc
ID: CF_TEMPLATEPROXY
LINE: 216
Template: C:\websites\coldbox\system\coldbox.cfc
ID: CF_UDFMETHOD
LINE: 55
Template: C:\websites\WorkPlaceMedia\htdocs\Application.cfc
Framework Snapshot
Current Event: friendly.index
Current Layout: N/A
Current View: N/A
Bug Date: 01/26/2009 08:52:31 PM
Coldfusion ID: CFID=60630 ; CFToken=70151065 ;
JSessionID=WORKPLACEMEDIA_60630_70151065
Template Path : C:\websites\WorkPlaceMedia\htdocs\index.cfm
Path Info : /friendly
Host & Server: workplacemedia.dev.wris.net wrisdev
Query String:
Browser: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.5)
Gecko/2008120122 Firefox/3.0.5 (.NET CLR 3.5.30729) Ubiquity/0.1.4
ColdFire/1.3.142.145
Stack Trace:

coldfusion.runtime.UndefinedElementException: Element TRANSFER is
undefined in ARGUMENTS.
  at coldfusion.runtime.DotResolver.resolveSplitNameInMap
(DotResolver.java:108)
  at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1550)
  at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1532)
  at cfmain2ecfc23664457$funcONEXCEPTION.runFunction(C:\websites
\WorkPlaceMedia\htdocs\handlers\main.cfc:57)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
  at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
  at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke
(UDFMethod.java:360)
  at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke
(UDFMethod.java:324)
  at coldfusion.filter.FunctionAccessFilter.invoke
(FunctionAccessFilter.java:59)
  at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:463)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:453)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:320)
  at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2222)
  at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:362)
  at cfcontroller2ecfc1319953960$funcRUNEVENT.runFunction(C:\websites
\_globalLibrary\framework\coldbox\2.6.2\system\controller.cfc:430)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
  at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke
(UDFMethod.java:360)
  at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke
(UDFMethod.java:324)
  at coldfusion.filter.FunctionAccessFilter.invoke
(FunctionAccessFilter.java:59)
  at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:448)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308)
  at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2272)
  at cfExceptionService2ecfc1180915728$funcEXCEPTIONHANDLER.runFunction
(C:\websites\_globalLibrary\framework\coldbox\2.6.2\system\services
\ExceptionService.cfc:52)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
  at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47)
  at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke
(UDFMethod.java:360)
  at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke
(UDFMethod.java:324)
  at coldfusion.filter.FunctionAccessFilter.invoke
(FunctionAccessFilter.java:59)
  at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:448)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308)
  at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2272)
  at cfcoldbox2ecfc1836567121$funcPROCESSCOLDBOXREQUEST.runFunction(C:
\websites\coldbox\system\coldbox.cfc:216)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
  at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke
(UDFMethod.java:360)
  at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke
(UDFMethod.java:324)
  at coldfusion.filter.FunctionAccessFilter.invoke
(FunctionAccessFilter.java:59)
  at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
  at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:2471)
  at cfApplication2ecfc2098941746$funcONREQUESTSTART.runFunction(C:
\websites\WorkPlaceMedia\htdocs\Application.cfc:55)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:418)
  at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke
(UDFMethod.java:360)
  at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke
(UDFMethod.java:324)
  at coldfusion.filter.FunctionAccessFilter.invoke
(FunctionAccessFilter.java:59)
  at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:277)
  at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:192)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:448)
  at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308)
  at coldfusion.runtime.AppEventInvoker.invoke(AppEventInvoker.java:74)
  at coldfusion.runtime.AppEventInvoker.onRequestStart
(AppEventInvoker.java:221)
  at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:
264)
  at coldfusion.filter.RequestMonitorFilter.invoke
(RequestMonitorFilter.java:48)
  at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:
40)
  at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
  at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
  at coldfusion.filter.BrowserDebugFilter.invoke
(BrowserDebugFilter.java:74)
  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.CfmServlet.service(CfmServlet.java:175)
  at coldfusion.bootstrap.BootstrapServlet.service
(BootstrapServlet.java:89)
  at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
  at com.intergral.fusionreactor.filter.FusionReactorFilter.G(Unknown
Source)
  at com.intergral.fusionreactor.filter.FusionReactorFilter.B(Unknown
Source)
  at com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter
(Unknown Source)
  at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
  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)

And my ColdBox.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://www.coldboxframework.com/schema/
config_2.5.0.xsd">
  <Settings>
    <!--The name of your application.-->
    <Setting name="AppName" value="ClientName"/>
    <!--Default Debugmode boolean flag (Set to false in production
environments)-->
    <Setting name="DebugMode" value="false" />
    <!--The Debug Password to use in order to activate/deactivate
debugmode,activated by url actions -->
    <Setting name="DebugPassword" value=""/>
    <!--The fwreinit password to use in order to reinitialize the
framework and application.Optional, else leave blank -->
    <Setting name="ReinitPassword" value=""/>
    <!--Default event name variable to use in URL/FORM etc. -->
    <Setting name="EventName" value="event" />
    <!--This feature is enabled by default to permit the url dumpvar
parameter-->
    <Setting name="EnableDumpVar" value="false" />
    <!--Log Errors and entries on the coldfusion server logs, disabled
by default if not used-->
    <Setting name="EnableColdfusionLogging" value="false" />
    <!--Log Errors and entries in ColdBox's own logging facilities. You
choose the location, finally per application logging.-->
    <Setting name="EnableColdboxLogging" value="false" />
    <!--The absolute or relative path to where you want to store your
log files for this application-->
    <Setting name="ColdboxLogsLocation" value="logs" />
    <!--Default Event to run if no event is set or passed. Usually the
event to be fired first (NOTE: use event handler syntax)-->
    <Setting name="DefaultEvent" value="general.dspHome"/>
    <!--Event Handler to run on the start of a request, leave blank if
not used. Emulates the Application.cfc onRequestStart method -->
    <Setting name="RequestStartHandler" value="main.onRequestStart"/>
    <!--Event Handler to run at end of all requests, leave blank if not
used. Emulates the Application.cfc onRequestEnd method-->
    <Setting name="RequestEndHandler" value="main.onRequestEnd"/>
    <!--Event Handler to run at the start of an application, leave blank
if not used. Emulates the Application.cfc onApplicationStart method --

    <Setting name="ApplicationStartHandler" value="main.onAppInit"/>
    <!--Event Handler to run at the start of a session, leave blank if
not used.-->
    <Setting name="SessionStartHandler" value="main.onSessionStart"/>
    <!--Event Handler to run at the end of a session, leave blank if not
used.-->
    <Setting name="SessionEndHandler" value="main.onSessionEnd"/>
    <!--The event handler to execute on all framework exceptions. Event
Handler syntax required.-->
    <Setting name="ExceptionHandler" value="main.onException" />
    <!--What event to fire when an invalid event is detected-->
    <Setting name="onInvalidEvent" value="" />
    <!--Full path from the application's root to your custom error page,
else leave blank. -->
    <Setting name="CustomErrorTemplate" value="" />
    <!--The Email address from which all outgoing framework emails will
be sent. -->
    <Setting name="OwnerEmail" value="paul@wris.com" />
    <!-- Enable Bug Reports to be emailed out, set to true by default if
left blank
      A sample template has been provided to you in includes/
generic_error.cfm
     -->
    <Setting name="EnableBugReports" value="False"/>
    <!--UDF Library To Load on every request for your views and handlers
-->
    <Setting name="UDFLibraryFile" value="" />
    <!--Messagebox Style Override. A boolean of wether to override the
styles using your own css.-->
    <Setting name="MessageboxStyleOverride" value="" />
    <!--Flag to Auto reload the internal handlers directory listing.
False for production. -->
    <Setting name="HandlersIndexAutoReload" value="False" />
    <!--Flag to auto reload the config.xml settings. False for
production. -->
    <Setting name="ConfigAutoReload" value="false" />
    <!-- Declare the custom plugins base invocation path, if used. You
have to use dot notation.Example: mymapping.myplugins -->
    <Setting name="MyPluginsLocation" value="" />
    <!-- Declare the external handlers base invocation path, if used.
You have to use dot notation.Example: mymapping.myhandlers -->
    <Setting name="HandlersExternalLocation" value="" />
    <!--Flag to cache handlers. Default if left blank is true. -->
    <Setting name="HandlerCaching" value="false"/>
    <!--Flag to cache events if metadata declared. Default is true -->
    <Setting name="EventCaching" value=""/>
    <!--IOC Framework if Used, else leave blank-->
    <Setting name="IOCFramework" value="" />
    <!--IOC Definition File Path, relative or absolute -->
    <Setting name="IOCDefinitionFile" value="" />
    <!--IOC Object Caching, true/false. For ColdBox to cache your IoC
beans-->
    <Setting name="IOCObjectCaching" value="" />
    <!--Request Context Decorator, leave blank if not using. Full
instantiation path -->
    <Setting name="RequestContextDecorator" value=""/>
    <!--Flag if the proxy returns the entire request collection or what
the event handlers return, default is false -->
    <Setting name="ProxyReturnCollection" value="false"/>
  </Settings>

  <!--Your Settings can go here, if not needed, use <YourSettings />.
You can use these for anything you like.
    <YourSettings>
      <Setting name="MySetting" value="My Value"/>
    </YourSettings>
   -->
  <YourSettings>
    <Setting name="ColdBoxSideBar" value="true" />

    <Setting name="site.title" value="Client Name" />
    <Setting name="site.salt" value="gF!Ax%5z2DNFV" />
  </YourSettings>

  <!--Optional,if blank it will use the CFMX administrator settings.-->
  <MailServerSettings>
    <MailServer></MailServer>
    <MailPort></MailPort>
    <MailUsername></MailUsername>
    <MailPassword></MailPassword>
  </MailServerSettings>

  <!--Emails to Send bug reports, you can create as many as you like
  <BugEmail>myemail@gmail.com</BugEmail>
  -->
  <BugTracerReports/>

  <!--List url dev environments, this determines your dev/pro
environment for the framework-->
  <DevEnvironments>
    <url>dev</url>
  </DevEnvironments>

  <!--Webservice declarations your use in your application, if not use,
leave blank
  Note that for the same webservice name you can have a development url
and a production url.
  <WebServices>
    <WebService name="TESTWS1" URL="http://www.test.com/test1.cfc?wsdl"
DevURL="http://dev.test.com/test1.cfc?wsdl" />
    <WebService name="TESTWS2" URL="http://www.test.com/test2.cfc?wsdl"
DevURL="http://dev.test.com/test2.cfc?wsdl" />
  </WebServices>
  -->
  <WebServices />

  <!--Declare Layouts for your application here-->
  <Layouts>
    <!--Declare the default layout, MANDATORY-->
    <DefaultLayout>Layout.Homepage.cfm</DefaultLayout>

    <!--Default View, OPTIONAL -->
    <!--
    <DefaultView>home</DefaultView>
    -->

    <Layout file="Layout.Homepage.cfm" name="homepage">
      <View>home</View>
    </Layout>

    <!-- Declare other layouts, with view/folder assignments if needed,
else do not write them -->
    <Layout file="Layout.SubpageTwoColumn.cfm" name="SubpageTwoColumn">
      <Folder>menus</Folder>
    </Layout>

    <Layout file="Layout.SubpageThreeColumn.cfm"
name="SubpageThreeColumn">
      <Folder>menus</Folder>
    </Layout>

    <Layout file="Layout.ContentManager.cfm" name="ContentManager">
      <Folder>contentManager</Folder>
    </Layout>

  </Layouts>

  <!--Internationalization and resource Bundle setup:-->
  <i18N>
    <DefaultResourceBundle>includes/i18n/main</DefaultResourceBundle>
    <DefaultLocale>en_US</DefaultLocale>
    <LocaleStorage>session</LocaleStorage>
  </i18N>

  <!--Datasource Setup, you can then retreive a datasourceBean via the
getDatasource("name") method:
  <Datasource alias="MyDSNAlias" name="real_dsn_name" dbtype="mysql"
username="" password="" />
  -->
  <Datasources>
    <Datasource alias="workPlaceMedia" name="clientDataSource"
dbtype="mssql" username="" password="" />
  </Datasources>

  <!--ColdBox Object Caching Settings Overrides the Framework-wide
settings -->
  <Cache>
    <ObjectDefaultTimeout>45</ObjectDefaultTimeout>
    <ObjectDefaultLastAccessTimeout>15</ObjectDefaultLastAccessTimeout>
    <UseLastAccessTimeouts>true</UseLastAccessTimeouts>
    <ReapFrequency>3</ReapFrequency>
    <MaxObjects>100</MaxObjects>
    <FreeMemoryPercentageThreshold>0</FreeMemoryPercentageThreshold>
    <!-- LFU/LRU -->
    <EvictionPolicy>LFU</EvictionPolicy>
  </Cache>

  <!-- Interceptor Declarations
  <Interceptors throwOnInvalidStates="true">
    <CustomInterceptionPoints>comma-delimited list</

    <Interceptor class="full class name">
      <Property name="myProp">value</Property>
      <Property name="myArray">[1,2,3]</Property>
      <Property name="myStruct">{ key1:1, key2=2 }</Property>
    </Inteceptor>
    <Interceptor class="no property" />
  </Interceptors>
  -->

  <Interceptors>
    <!-- config file is relative to app root -->
    <Interceptor class="coldbox.system.interceptors.ses">
      <Property name="configFile">config/routes.cfm</Property>
    </Interceptor>

    <!-- Transfer Loader -->
    <Interceptor class="coldbox.system.extras.transfer.TransferLoader">
      <Property name="ConfigPath">config/transfer.xml.cfm</Property>
      <Property name="definitionPath">/definitions</Property>
      <Property name="datasourceAlias">workPlaceMedia</Property>
    </Interceptor>

    <!-- Autowiring -->
      <Interceptor class="coldbox.system.interceptors.autowire"></

    <!-- Add logged-in user to event scope -->
      <Interceptor class="interceptors.userInjector"></Interceptor>

    <!-- Sidebar -->
    <Interceptor class="coldbox.system.interceptors.coldboxSideBar">
      <!-- Y offset: number, else leave blank -->
      <Property name="yOffset"></Property>
      <!-- Scroll: true/false, else leave blank -->
      <Property name="isScroll"></Property>
      <!-- Slide Speed: number, else leave blank -->
      <Property name="slideSpeed"></Property>
      <!-- Wait time before closing: number, else leave blank -->
      <Property name="waitTimeBeforeClose"></Property>
      <!-- Links (JSON array of objects), else leave blank
      e.g.
        [
        {"desc":"ColdBox API","href":"http:\/\/www.coldboxframework.com\/
api\/"}
        ,{"desc":"ColdBox Credits","href":"http:\/\/ortus.svnrepository.com
\/coldbox\/trac.cgi\/wiki\/cbCredits"}
        ,{"desc":"ColdBox SideBar Help","href":"http:\/\/
ortus.svnrepository.com\/coldbox\/trac.cgi\/wiki\/cbSideBar"}
        ,{"desc":"Transfer Docs","href":"http:\/\/docs.transfer-orm.com
\/"}
        ,{"desc":"My API","href":"http:\/\/localhost\/myApi/"}
        ,{"desc":"My Database Schema","href":"http:\/\/localhost\/
myDatabaseSchema.pdf"}
        ]
       -->
       <Property name="links"></Property>
      <!-- Width of the sidebar including visible width, else leave blank
-->
      <Property name="width"></Property>
      <!-- Visible width, else leave blank -->
      <Property name="visibleWidth"></Property>
      <!--Full path from the application's root, else leave blank. -->
      <Property name="imagePath"></Property>
      <!-- Vertical alignment of the image: top,middle or bottom, else
leave blank -->
      <Property name="imageVAlign"></Property>
      <!--Full path from the application's root, else leave blank -->
      <Property name="cssPath"></Property>
    </Interceptor>

    <!-- Content Manager Security -->
    <Interceptor class="coldbox.system.interceptors.security">
      <Property name="useRoutes">true</Property>
          <Property name="rulesSource">xml</Property>
          <Property name="rulesFile">config/security.xml.cfm</Property>
          <Property name="debugMode">true</Property>
          <Property name="preEventSecurity">true</Property>
    </Interceptor>
  </Interceptors>

</Config>

Well, not sure what my issue was, but it turns out I really wanted to
use onInvalidEvent anyway. And the transfer injection seems to be
working just fine there.

For now I'm just attributing this to the intergnomes, and I'm moving
on.

-paul