• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Upgrade from CF8 to CF10 now CFC cant read from request scope

Participant ,
Mar 13, 2014 Mar 13, 2014

Copy link to clipboard

Copied

Please bear with me as I am primariliy a systems and network admin as opposed to a developer.

We are in the process of migrating our code from CF8 to CF10, and the inhouse developers are complaining about one error they cant figure out.  We have a page that uses cfgrid to call a CFC.   This CFC throws an error about a request variable being undefined, however I do se that it is defined in the debigging information of the parent page. 

Error invoking CFC at /toDynamic/display/admin

sitecampuses.cfc : Element FUSEBOXOSNAME is undefined
in REQUEST.

I know we are using an older version of fusebox, but it would be a monstrous task to upgrade it at this point.

Any suggestions?

Views

4.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 13, 2014 Mar 13, 2014

Copy link to clipboard

Copied

It appears that the cfc is somehow calling fbx_Settings.cfm, however it is not calling index.cfm which sets request.fuseboxosname.

Since we have no application.cfm file, how could the cfc call fbx_Settings.cfm?   I cant get my head around this.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

Is there an Application.cfm/.cfc file in a parent directory above where the CFC resides?  ColdFusion will traverse the directory tree upward to the webroot to find an Application.cfm/.cfc.  If there is one, you might try creating a minimal Application.cfm/.cfc in the same directory as your CFC to short-circuit that process and guarantee a clean execution of your CFC.

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

No, there is no application.cfm in or anywhere above.  There are a couple instances of application.cfm off to side directories, but none that would call fusebox includes like the fbx_Settings.cfm file.  We have also tried adding a blank application.cfm, which did not make any difference.   The only thing that would call these files is the index.cfm file from two directories above.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

How about in your template cache?  Have you cleared it from CF Administrator to make sure no old code from deleted files might be lingering around.  Last resort, you might need to clear out the .class files that ColdFusion has generated here: C:\ColdFusion10\cfusion\wwwroot\WEB-INF\cfclasses.  Then stop and restart ColdFusion and see if that helps.

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

Yes, we manually cleared template caching, and disabled any cache settings we could find.  I dont think it would be a cached issue, since it never worked in that manner before.

The code was brought directly over from cf8 where it worked.  This is a new development server to test the codebase before we roll out to production. 

It seems to me that that ajax binding is somehow calling index.cfm in an above directory, when it should only be calling the cfc alone.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

Can you post the full error message/stack trace?

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

OK here is the error:

cfc_error.jpg


Here is the debugging info from the page that loads the AJAX / CFGRID.  

Debugging Information

ColdFusion Server Standard10,0,13,287689
Template/index.cfm
Time Stamp18-Mar-14 04:00 PM
LocaleEnglish (US)
User AgentMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Remote IP10.10.2.231
Host Name10.10.2.231


Execution Time

Total TimeAvg TimeCountTemplate
64 ms64 ms1/var/www/html/dynamic/index.cfm
63 ms63 ms1/var/www/html/dynamic/fbx_fusebox30_CF50.cfm
34 ms34 ms1/var/www/html/dynamic/circuits/admin/fbx_Switch.cfm
19 ms19 ms1/var/www/html/dynamic/fbx_Settings.cfm
17 ms17 ms1/var/www/html/dynamic/circuits/admin/prep_siteconfig.cfm
15 ms15 ms1/var/www/html/dynamic/display/admin/siteconfig.cfm
9 ms9 ms1/var/www/html/dynamic/app_Globals.cfm
9 ms9 ms1/var/www/html/dynamic/display/admin/siteconfig_tab5.cfm
7 ms7 ms1/var/www/html/dynamic/app_GlobalRequests.cfm
4 ms4 ms1/var/www/html/dynamic/model/site/get_sites.cfm
3 ms3 ms1/var/www/html/dynamic/model/site/get_site.cfm
2 ms2 ms1/var/www/html/dynamic/circuits/admin/qry_AddTrackaction.cfm
2 ms1 ms2/var/www/html/dynamic/model/site/get_SourceoneConfigs.cfm
2 ms2 ms1/var/www/html/dynamic/model/site/get_site_bydomain.cfm
1 ms1 ms1/var/www/html/dynamic/circuits/admin/fbx_Settings.cfm
1 ms1 ms1/var/www/html/dynamic/circuits/admin/qry_AllActions.cfm
1 ms1 ms1/var/www/html/dynamic/model/inventory/get_inventories.cfm
1 ms1 ms1/var/www/html/dynamic/model/site/get_PricingFiles.cfm
1 ms1 ms1/var/www/html/dynamic/model/site/get_SiteTaxOnInvoice.cfm
1 ms1 ms1/var/www/html/dynamic/model/user/get_DistinctUsertypes.cfm
1 ms1 ms1/var/www/html/dynamic/sites/admin/layout.cfm
1 ms1 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Pricing, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=7) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
1 ms1 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | Draw() ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1/var/www/html/dynamic/display/admin/dsp_logout.cfm
0 ms0 ms1/var/www/html/dynamic/display/footer-admin.cfm
0 ms0 ms1/var/www/html/dynamic/display/header-admin.cfm
0 ms0 ms1/var/www/html/dynamic/fbx_Circuits.cfm
0 ms0 ms1/var/www/html/dynamic/fbx_Layouts.cfm
0 ms0 ms1/var/www/html/dynamic/model/creditcards/dummy_test.cfm
0 ms0 ms1/var/www/html/dynamic/model/site/get_SiteAccountExecutives.cfm
0 ms0 ms1/var/www/html/dynamic/model/user/get_sessionuser.cfm
0 ms0 ms1/var/www/html/envConfigSettings.cfm
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Addresses/Contacts, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=5) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Configurations, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=2) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(General, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=1) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Integrations/Properties, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=6) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Options/eTextbook, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=4) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms0 ms1CFC[ /var/www/html/dynamic/tabcontrol/tabControl.cfc | AddTab(Shipping/Printing, , index.cfm?action=admin.siteconfig&SiteID=5&Tab=3) ] from /var/www/html/dynamic/tabcontrol/tabControl.cfc
0 ms STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
64 ms TOTAL EXECUTION TIME

red = over 250 ms average execution time


Exceptions

16:00:24.024 - MissingInclude Exception - in /var/www/html/dynamic/fbx_fusebox30_CF50.cfm : line 276

         Could not find the included template circuits/admin/fbx_Layouts.cfm. 


SQL Queries

getBuyBackPaymentMethods (Datasource=absmysql, Time=0ms, Records=4, Cached Query) in /var/www/html/dynamic/app_GlobalRequests.cfm @ 16:00:24.024

     Select BuyBackpayMethod, Group_CONCAT(Distinct CAST(siteid as char(20))) Sites_list From Sites where isactive = 1 and BuyBackpayMethod is not null Group by BuyBackpayMethod 

getNOPRICEONVOUCHER (Datasource=absmysql, Time=0ms, Records=1, Cached Query) in /var/www/html/dynamic/app_GlobalRequests.cfm @ 16:00:24.024

     SELECT value FROM Rules R where rulesid = 1; 

getCCISites (Datasource=absmysql, Time=0ms, Records=1, Cached Query) in /var/www/html/dynamic/app_GlobalRequests.cfm @ 16:00:24.024

Select  Group_CONCAT(Distinct CAST(siteid as char(20))) Sites_list From abs.Sites where picksite like '6677%'; 

site_q (Datasource=absmysql, Time=2ms, Records=1) in /var/www/html/dynamic/model/site/get_site_bydomain.cfm @ 16:00:24.024

     CALL getSiteInfoPropertiesByDomain('admin.absbook.cf10'); 

DistinctUsertypes (Datasource=absmysql, Time=1ms, Records=19) in /var/www/html/dynamic/model/user/get_DistinctUsertypes.cfm @ 16:00:24.024

SELECT DISTINCT Usertype FROM Staff 

SrcOneSiteConfig_q (Datasource=absmysql, Time=1ms, Records=1) in /var/www/html/dynamic/model/site/get_SourceoneConfigs.cfm @ 16:00:24.024

    SELECT * FROM abs.SrcOneSiteConfig WHERE SiteID = 17 

getMaintenanceStatus (Datasource=absmysql, Time=0ms, Records=0) in /var/www/html/dynamic/fbx_Settings.cfm @ 16:00:24.024

    SELECT * FROM SiteMaintenanceMessage WHERE status = 1 AND sitetype = 'admin' AND siteid IN (0,17) AND (allowedIPs is null OR allowedIPs not like '%|10.10.2.231|%') ORDER BY siteid DESC LIMIT 1; 

AddTrackaction (Datasource=absmysql, Time=1ms, Records=1) in /var/www/html/dynamic/circuits/admin/qry_AddTrackaction.cfm @ 16:00:24.024

     INSERT INTO Trackaction (UserID,IP,Role,SessionID,SiteID,Fuseaction,DateTimeCreated,Details) VALUES ( ? , ?, ?, ?, ?, ?, ?, ? ) 

Query Parameter Value(s) -
Parameter #1(CF_SQL_INTEGER) = 785
Parameter #2(CF_SQL_VARCHAR) = 10.10.2.231
Parameter #3(CF_SQL_VARCHAR) = admin
Parameter #4(CF_SQL_VARCHAR) = CFID=5322&CFTOKEN=67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4
Parameter #5(CF_SQL_INTEGER) = 17
Parameter #6(CF_SQL_VARCHAR) = admin.siteconfig
Parameter #7(CF_SQL_TIMESTAMP) = 2014-03-18 16:00:24.31
Parameter #8(CF_SQL_LONGVARCHAR) = SiteID=5&Tab=5|Session=|

AllActions (Datasource=absmysql, Time=0ms, Records=124) in /var/www/html/dynamic/circuits/admin/qry_AllActions.cfm @ 16:00:24.024

SELECT      DISTINCT S.Fuse FROM     Admin_Sub S 

site_q (Datasource=absmysql, Time=2ms, Records=1) in /var/www/html/dynamic/model/site/get_site.cfm @ 16:00:24.024

     CALL getSiteInfo('5'); 

get_PricingFiles (Datasource=absmysql, Time=0ms, Records=1) in /var/www/html/dynamic/model/site/get_PricingFiles.cfm @ 16:00:24.024

SELECT * FROM PricingFiles WHERE SiteID = 5 

SrcOneSiteConfig_q (Datasource=absmysql, Time=1ms, Records=1) in /var/www/html/dynamic/model/site/get_SourceoneConfigs.cfm @ 16:00:24.024

    SELECT * FROM abs.SrcOneSiteConfig WHERE SiteID = 5 

SiteAccountExecs_q (Datasource=absmysql, Time=0ms, Records=1) in /var/www/html/dynamic/model/site/get_SiteAccountExecutives.cfm @ 16:00:24.024

     SELECT SiteID , PrimaryAccountExec , PrimaryAccountExecEmail , MIN(paes.StaffID) AS PrimaryAccountExecStaffID , SecondaryAccountExec , SecondaryAccountExecEmail , MIN(saes.StaffID) AS SecondaryAccountExecStaffID , PrimaryProjectManager , PrimaryProjectManagerEmail , MIN(pms.StaffID) AS PrimaryProjectManagerStaffID FROM SiteAccountManager sam LEFT OUTER JOIN Staff paes ON paes.Email = sam.PrimaryAccountExecEmail LEFT OUTER JOIN Staff saes ON saes.Email = sam.SecondaryAccountExecEmail LEFT OUTER JOIN Staff pms ON pms.Email = sam.PrimaryProjectManagerEmail WHERE sam.SiteID = 5 GROUP BY PrimaryAccountExec, PrimaryAccountExecEmail, SecondaryAccountExec, SecondaryAccountExecEmail, PrimaryProjectManager, PrimaryProjectManagerEmail; 

SiteTax_q (Datasource=absmysql, Time=0ms, Records=1) in /var/www/html/dynamic/model/site/get_SiteTaxOnInvoice.cfm @ 16:00:24.024

     Select Case When z.SiteExists = 0 Then 1 Else 0 End as IsSiteTaxOnInvoice From (SELECT Count(*) as SiteExists FROM SitesTaxDoNotPay WHERE SiteID = 5) as z 

ShippingValuesSet (Datasource=absmysql, Time=0ms, Records=0) in /var/www/html/dynamic/circuits/admin/prep_siteconfig.cfm @ 16:00:24.024

            SELECT ShippingOptions.*, SitesToShippingOptions.ShippingMarkup FROM ShippingOptions INNER JOIN SitesToShippingOptions ON SitesToShippingOptions.ShippingOptionsUniqueID = ShippingOptions.UniqueID WHERE SitesToShippingOptions.SiteID = 5 

inventories_q (Datasource=absmysql, Time=0ms, Records=156) in /var/www/html/dynamic/model/inventory/get_inventories.cfm @ 16:00:24.024

select      InventoryID, InventoryName, InventoryType from      Inventories ORDER BY InventoryName 

sites_q (Datasource=absmysql, Time=3ms, Records=487, Cached Query) in /var/www/html/dynamic/model/site/get_sites.cfm @ 16:00:24.024

     select * from Sites s order by s.SiteName 

GetShippingValues (Datasource=absmysql, Time=1ms, Records=5) in /var/www/html/dynamic/display/admin/siteconfig.cfm @ 16:00:24.024

     SELECT * FROM ShippingOptions ORDER BY ShippingValue 

personList (Datasource=absmysql, Time=1ms, Records=7) in /var/www/html/dynamic/display/admin/siteconfig_tab5.cfm @ 16:00:24.024

SELECT MIN(StaffID) AS StaffID , CASE INSTR(Fullname, ' ') WHEN 0 THEN FullName ELSE CONCAT( SUBSTR(s.Fullname, LENGTH(s.Fullname) - INSTR(REVERSE(s.Fullname), ' ')+2, LENGTH(s.Fullname)) , ', ' , SUBSTR(s.Fullname, 1, LENGTH(s.Fullname) - INSTR(REVERSE(s.Fullname), ' ')) ) END AS DisplayName , Email as email FROM Staff s WHERE UserType in ('KGFinn', 'KGFinn_Admin', 'ProjectManager') AND email NOT IN ('Inactive@old.com', '') GROUP BY email ORDER BY DisplayName; 


Stored Procedures

sp_getNonPurchaseSites (Datasource=absmysql, Time=4ms) in /var/www/html/dynamic/app_GlobalRequests.cfm @ 16:00:24.024

   
parameters
typeCFSQLTypevaluevariabledbVarName
   
resultsets
nameresultset
NonPurchaseSites 1


Scope Variables

Application Variables: applicationname=ambassador 
CGI Variables: AUTH_PASSWORD= AUTH_TYPE= AUTH_USER= CERT_COOKIE= CERT_FLAGS= CERT_ISSUER= CERT_KEYSIZE= CERT_SECRETKEYSIZE= CERT_SERIALNUMBER= CERT_SERVER_ISSUER= CERT_SERVER_SUBJECT= CERT_SUBJECT= CF_TEMPLATE_PATH=/var/www/html/dynamic/index.cfm CONTENT_LENGTH=0 CONTENT_TYPE= CONTEXT_PATH= GATEWAY_INTERFACE= HTTPS=off HTTPS_KEYSIZE= HTTPS_SECRETKEYSIZE= HTTPS_SERVER_ISSUER= HTTPS_SERVER_SUBJECT= HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 HTTP_ACCEPT_ENCODING=gzip,deflate,sdch HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.8 HTTP_CONNECTION=keep-alive HTTP_COOKIE=CFADMIN_LASTPAGE_ADMIN=%2FCFIDE%2Fadministrator%2Fsettings%2Fversion%2Ecfm; CFID=5322; CFTOKEN=67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4; CFAUTHORIZATION_componentutils=YWRtaW4NY29tcG9uZW50dXRpbHMNMTM5NTE3MjY4ODg5OA1BNzNEMzI4QUE2NTczMjEx HTTP_HOST=admin.absbook.cf10 HTTP_REFERER=http://admin.absbook.cf10/index.cfm?action=admin.siteconfig&SiteID=5&Tab=1 HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36 PATH_INFO= PATH_TRANSLATED=/var/www/html/dynamic/index.cfm QUERY_STRING=action=admin.siteconfig&SiteID=5&Tab=5 REMOTE_ADDR=10.10.2.231 REMOTE_HOST=10.10.2.231 REMOTE_USER= REQUEST_METHOD=GET SCRIPT_NAME=/index.cfm SERVER_NAME=admin.absbook.cf10 SERVER_PORT=80 SERVER_PORT_SECURE=0 SERVER_PROTOCOL=HTTP/1.1 SERVER_SOFTWARE=Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.0-fips mod_wsgi/3.2 Python/2.6.6 mod_jk/1.2.32 mod_perl/2.0.4 Perl/v5.10.1 WEB_SERVER_API= 
Cookie Variables: CFADMIN_LASTPAGE_ADMIN=/CFIDE/administrator/settings/version.cfm CFAUTHORIZATION_componentutils=YWRtaW4NY29tcG9uZW50dXRpbHMNMTM5NTE3MjY4ODg5OA1BNzNEMzI4QUE2NTczMjEx CFID=5322 CFTOKEN=67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4 
Form Fields: ALLOWDUPES=true ALLOWSCANTITLES=false AUTOPRINT=true BGBYVOUCHER=false BREAKOUTITEMSANDSHIPPINGONINVOICE=false BUYBACKDISCOUNT=40 BUYBACKPAYMETHOD=check CAMPUSCODE= COMBINEINVENTORY=false CONTACTUSEMAIL=it_qa@ambassadored.com COURSEBOOKSREQUIRED=1 CV_CONTACTEMAIL= CV_ID= CV_IP= CV_TRANSACTIONCODE= CV_WS_ADDRESS= DEFAULTSPENDINGLIMIT=90000.00 DISPLAYCOURSESTARTONVOUCHER=false DOMAIN=demo.ambassadorbookstores.cf10 EBOOKBLURBTEXT=                                        <br><B>In electronic format.</B> If selected you will receive email instructions on how to access your e-book. E-books have limited return privileges, unlike printed books which may be returned. EBOOKCOMPCODEDEFAULTDURATION=14 EBOOKDOWNLOADTEMPLATEID=2 EBOOKFROMEMAILADDRESS=it@ambassadored.com EBOOKLICENSESELECTION=0 EBOOKOFFERED=1 EBOOKPRICEID=1 EBOOKREADYTEMPLATEID=1 EBOOKREPLYTOEMAILADDRESS=it@ambassadored.com EBOOKREPLYTONAME=Demo Bookstore EBOOKSELECTIONDEFAULT=Accept EBOOKVENDORID=2 EMAILBROWNSOFTWAREVOUCHER= EMAILSTOREBRANDEDVOUCHER= ENABLEADDCCCHARGEFOREXPEDITEDSHIP=0 ENABLEADDRESSVALIDATION=false ENABLECAMPUSCODEONINVOICE=0 ENABLECAMPUSPREFIX=false ENABLECREDITINVOICE=0 ENABLEITEMCHARGEINVOICE=false ENABLESHIPPINGINVOICE=false ENABLESHIPPINGSUMMARYINVOICE=false ENABLESTUDENTCOURSESUPLOAD=false ENABLESTUDENTSPENDING=false ENABLETRACKINGINVOICE=false FORCEUSEDASDEFAULT=false INVENTORYID=70 ISACTIVE=1 ISAUTOFILL=false ISAUTOFILLFILECUMULATIVE=0 ISFLATRATESHIP=0 ISMAILINSERTSREQUIRED= ISSHOWSTUDENTID=0 ISSHOWTOTALDETAILONDISTREPORT=0 ISSITETAXONINVOICE=1 ISVOUCHERNG=1 ITEMIZEPRICE=false LOCATION=0 LOWINVENTORY=2 MULTIQTY=false NONPURCHASE=true OFFERBUYBACKS=true PICKSITE=10test PORTALID=96 PORTALLINK=https://sourceone.ambassadorbookstores.qc/ PREFIX=DEMO PRICINGFILE=standardC.cfm PRIMARYACCOUNTEXECEMAIL=dw2@ambassadored.com PRIMARYACCOUNTEXECSTAFFID=20 PRIMARYPROJECTMANAGEREMAIL=dw1@ambassadored.com PRIMARYPROJECTMANAGERSTAFFID= PRINTERS=evchesapeakep1 evchesapeakep2 EVHoustonBissonetP1 EVHoustonBissonetP2 \\10.10.3.242\TechPrin2 evArlingtonP1 evArlingtonP2 PRINTERTYPE=site PROCESSMETHOD= PROGRAMID= PURCHASETYPE=vouchersandcredit SCHOOLID= SCHOOLLINEARSHIPPINGCOST=0.0000 SCHOOLMODULARSHIPPINGCOST=0.0000 SECONDARYACCOUNTEXECEMAIL=dw3@ambassadored.com SECONDARYACCOUNTEXECSTAFFID=19 SEMESTERLABEL=Semester SHIPPINGVALUE= SHOWCOUNTRY=false SHOWPROGRAMONINVOICE=false SHOWQUARTER=false SITEGUID=4e94730a-e78c-102b-91fe-0015c5e724cb SITEID=5 SITENAME=Ambassador Demo SITETYPE=virtual STATE=NY STUDENTLINEARGROUNDSHIPPINGCOST=0.0000 STUDENTMODULARGROUNDSHIPPINGCOST=0.0000 TABID=1 TAXRATE=7.000 USEDBOOKSDISCOUNT=75 USEDBOOKSFLAG=FALSE USESSL=false VALIDATEATLOGIN=true VALIDATEATVOUCHER=false VALIDATEFIRSTNAME=false VALIDATELASTNAME=false WEBFOLDER=demo WEBUPDATETYPE=2 
Request Parameters: afdir=/home/cci/ applicationtimeout=1 autofilluniqueid=0 bbcashsites=317,312,318,319,329,334,242,299,298,250,265,266,267,275,241,287,288,495,494,390,393,486,422,434,145,477,487,389,388,488,493,492,491,490,368,371,489,376,478,239,166,144,190,143,134,133,191,192,193,194,122,120,119,117,202,189,188,168,164,173,175,160,178,179,165,153,185,147,146,159,187,116,203,215,176,217,28,219,220,27,26,17,222,224,225,186,234,29,212,207,34,211,115 bbchecksites=158,155,498,451,450,391,5,479,501,470,447,161,163,502,106,497,453,468,503,37,30,127,465,70,463,462,461,460,472,484,457,455,458,238,205,332,333,204,348,350,363,198,196,367,369,377,206,210,231,252,255,256,260,262,221,278,283,218,302,313,380,381,410,411,420,427,428,216,432,433,171,437,170,169,417,403,387,394,184,398,400,384,3 bbvouchersites=467,383,392,431,7,362,456,100,181,74 ccisites=115,116,117,119,120,122,123,131,133,134,143,144,145,146,147,148,153,155,159,160,163,164,165,166,167,168,169,170,171,173,174,175,176,177,178,179,184,185,186,187,188,189,190,191,192,193,194,202,203,206,207,210,211,212,215,217,218,219,220,222,224,225,231,232,234,237,238,239,240,241,242,250,251,256,263,264,265,266,267,275,287,288,298,299,312,313,318,319,329,334,363,368,376,384,386,388,389,390,422,439,450,451,454,477,478,486,487,488,489,490,491,492,493,494,495 cla_termcode= dsn=absmysql fileuploadpath=/var/www/html/dynamic/uploads/ ftpdirectory=/home/w386vco fuseboxosname=UNIX griddsn=absmysql nonpurchasesites=3,4,5,7,11,12,13,17,18,20,27,28,32,33,35,38,39,41,42,46,48,50,53,55,59,60,64,65,66,70,71,78,79,80,83,84,85,86,87,90,93,96,98,103,123 nopriceonvoucher=123,256,158 onload= pricingfilelocation=/dynamic/model/site/pricing pvoucherurl=http://vouchers.ambassadored.cf10/printVoucher.cfc?method=actPrint&copies=1 root=/dynamic sessiontimeout=0.0416666666667 states=AK,AL,AR,AZ,CA,CO,CT,DC,DE,FL,GA,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MI,MN,MO,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,RI,SC,SD,TN,TX,UT,VA,VT,WA,WI,WV,WY,AA,AE,AP,AS,PR,FM,GU,MH,MP,PW,VI subheader=dot_clear.gif subheaderh=36 subheaderw=100% vvoucherurl=http://vouchers.ambassadored.cf10/vouchergen.cfc?method=generateVoucher&outputTypeCode=od 
Server Variables: coldfusion=Struct (8) os=Struct (5) 
Session Variables: bookstoretext_lower=bookstore bookstoretext_upper=Bookstore cashbblist=317,312,318,319,329,334,242,299,298,250,265,266,267,275,241,287,288,495,494,390,393,486,422,434,145,477,487,389,388,488,493,492,491,490,368,371,489,376,478,239,166,144,190,143,134,133,191,192,193,194,122,120,119,117,202,189,188,168,164,173,175,160,178,179,165,153,185,147,146,159,187,116,203,215,176,217,28,219,220,27,26,17,222,224,225,186,234,29,212,207,34,211,115 categoryselection= cfid=5322 cftoken=67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4 combineinventory=false coupon= couponstop=FALSE enablecampusprefix=false enablestudentspending=false extratext= iscashbb=TRUE item_book_text=item item_book_textplural=items item_textbook_textplural=textbooks mapstudentandcourses=false multiqty=true multishipoptions=false origsiteid=17 publicactions=home.bookText,rings.*,capsgowns.*,admin.BGprint,branded.*,buybacks.*,home.*,login.*,admin.PICKport,admin.resubmitOrders,admin.updateShipped,reporting.upsDownLoadMail,reporting.virtBackOrderMail,reporting.permBackOrderMail,reporting.zeroQuantityMail,admin.errordetails,admin.print,reporting.summaryMailHourly,reporting.summaryMailDaily,reporting.distribMail,reporting.shortSummaryMailToday,reporting.shortSummaryMailDaily,reporting.shipSummaryMail,admin.backorders,admin.poloScr,admin.poloDsp,admin.procpolo,admin.expirepending,orders.cashcalc,warehouse.WatchOrders,reporting.DistribOrderMail,admin.dirtest,admin.DirTestDownload,admin.coupon,nebraska.*,admin.invDspNEW,admin.processStagingTable,admin.CreateAutoFillOrder,admin.BulkCreateAutoFillOrder sessionid=AMBASSADOR_5322_67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4 shippingvalue=Ground site_url=admin.absbook.cf10 sitetype=admin sso= sso_courses= studentspendingoverage= studentusedpref=Sub threecosttext=these items typedstudentid= uniformtext=item urltoken=CFID=5322&CFTOKEN=67623367f12e627b-638C1AFA-B72A-0529-4F207FAFF15FFFE4 userid=785 username=Anthony Sturchio usertype=admin 
URL Parameters: SiteID=5 Tab=5 action=admin.siteconfig 

Debug Rendering Time: 60 ms

And  if you scrape the CFC address from chrome developer tools you see

Failed to load resource: the server responded with a status of 500 (Element FUSEBOXOSNAME is undefined in REQUEST.) http://admin.absbook.cf10/toDynamic/display/admin/siteaddresses.cfc?method=getSiteAddresses&_cf_ajax...

The web site you are accessing has experienced an unexpected error.
Please contact the website administrator.


The following information is meant for the website developer for debugging purposes.
Error Occurred While Processing Request

Element FUSEBOXOSNAME is undefined in REQUEST.

The error occurred in /var/www/html/dynamic/fbx_Settings.cfm: line 63
61 : ---> 62 : 63 : <cfif request.fuseboxOSName contains "Windows"> 64 :      <cfset root = Replace(GetDirectoryFromPath(GetBaseTemplatePath()), ExpandPath("\"), "")> 65 :      <cfset root = "\" & ReReplace(root, "\\$", "")> 

Resources:

Browser  Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Remote Address  10.10.2.231
Referrer 
Date/Time  18-Mar-14 04:05 PM
Stack Trace
at cffbx_Settings2ecfm1245302153._factor5(/var/www/html/dynamic/fbx_Settings.cfm:63) at cffbx_Settings2ecfm1245302153.runPage(/var/www/html/dynamic/fbx_Settings.cfm:1)

coldfusion.runtime.UndefinedElementException: Element FUSEBOXOSNAME is undefined in REQUEST. at coldfusion.runtime.CfJspPage.resolveCanonicalName(CfJspPage.java:1752) at coldfusion.runtime.CfJspPage._resolve(CfJspPage.java:1705) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1854) at coldfusion.runtime.CfJspPage._resolveAndAutoscalarize(CfJspPage.java:1833) at cffbx_Settings2ecfm1245302153._factor5(/var/www/html/dynamic/fbx_Settings.cfm:63) at cffbx_Settings2ecfm1245302153.runPage(/var/www/html/dynamic/fbx_Settings.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.CfincludeFilter.include(CfincludeFilter.java:33) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:352) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79) 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.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.xml.rpc.CFCServlet.invoke(CFCServlet.java:155) at coldfusion.xml.rpc.CFCServlet.doGet(CFCServlet.java:289) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 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:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:414) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:204) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 

Thanks again for your help!

-T

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

I hope nothing that exposes security issues was in all that stuff!

I'm wondering if you have some cascading errors going on.  There are three different errors shown above: the dialog error, the Exception error, and then the error you see when you access the CFC directly.  The Exception error:

Exceptions

16:00:24.024 - MissingInclude Exception - in /var/www/html/dynamic/fbx_fusebox30_CF50.cfm : line 276

         Could not find the included template circuits/admin/fbx_Layouts.cfm. 

might be the starting point.  Do you have a fbx_Layouts.cfm file somewhere in your application?  Is it in a different place than circuits/admin/ ?  If so, you need to update the path in the include statement in fbx_fusebox30_CF50.cfm (especially if this file is what sets the value of request.fuseboxosname.

I also find it strange that accessing the CFC calls /var/www/html/dynamic/fbx_Settings.cfm since you don't have an Application.cfm/.cfc to include additional files, unless the CFC has some <cfinclude> statements in it.  Are there any in your CFC, and especially in your getSiteAddresses() method?

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

There's no client data or anything sensitive here, its simply a configuration screen.  And like I said, its a dev server on a private network - not public.

The CFCs are very simple, and do not have any includes.   So accessing them should not be calling fbx_settings.cfm or fbx_Layouts.cfm.

It must be something in the way it passes the parameters.  If I pass the CFC url variables, it happily return the data correctly, without any includes (or errors)

for instance, this is broken:
http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?method=getEbookPricingOptions&_cf...

This works as expected:
http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?method=getEbookPricingOptions&eBo...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

It looks like at least part of that URL is getting URLencoded() when it shouldn't be (I think everything from "argumentCollection=" up to "&_cf_nodebug" is incorrectly encoded).  Is argumentCollection a ColdFusion structure with key/value pairs that you are attempting to pass into the CFC?

That may be causing issues when ColdFusion attempts to parse the query string and extract the needed bits to populate the attributes scope of the CFC.

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

I really dont know how teh developers are storing the argument collection.  From the HTML source it looks like some kind of JSON.

<script type="text/javascript">/* <![CDATA[ */

ColdFusion.Ajax.initSelect('eBookPriceID','PRICEID','FORMULA');

/* ]]> */</script>



<script type="text/javascript">/* <![CDATA[ */

_cf_bind_init_1395173411164=function()

{

ColdFusion.Bind.register([['eBookVendorID','MainForm_Tab4','change'],['selectedEbookPricingID','MainForm_Tab4','change']],{'bindTo':'eBookPriceID','bindToAttr':'value','cfc':'/toDynamic/display/admin/sitecampuses.cfc','cfcFunction':'getEbookPricingOptions','_cf_ajaxproxytoken':'67E4609E9E8A7F998867','bindExpr':[['eBookVendorID','eBookVendorID','MainForm_Tab4','value'],['selectedEbookPricingID','selectedEbookPricingID','MainForm_Tab4','value']]},ColdFusion.Bind.cfcBindHandler,true);

};ColdFusion.Event.registerOnLoad(_cf_bind_init_1395173411164);

/* ]]> */</script>

<script type="text/javascript">

From the CFML, I believe this is the snippet:

<cfselect name="eBookPriceID" value="PriceID"

                                                                display="Formula"

                                                                display="Formula"

                                                                display="Formula"

                                                        bind="cfc:sitecampuses.getEbookPricingOptions({eBookVendorID},{selectedEbookPricingID})" bindonload="true" tabindex="5" />

But as a sytems administrator, we have long since exhausted my knowledge of coldfusion development.

Thanks for any suggestions,

-T

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

Hopefully someone more versed in CFAJAXPROXY and CFGRID can chime in (I've never used either).  I generally try to avoid using ColdFusion's built-in UI stuff because it is inherently limited (only the pieces of underlying libraries that they chose to implement are available) and way behind in versions (I think the CFGrid stuff is based on a really old version of ExtJS).

I much prefer to use a modern JavaScript library for UI controls and use things like jQuery to handle AJAX - it's much simpler and you have more control that way.  There is a project on GitHub that attempts to help people do UI without ColdFusion's rather poor UI tags: https://github.com/cfjedimaster/ColdFusion-UI-the-Right-Way, although there isn't an example yet for CFGrid (take a look at CFTable though, as there's a link from there to the excellent DataTables plugin for jQuery).  Another jQuery alternative is the jqGrid plugin, and there are also grids in the ExtJS and Dojo libraries.

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

And I'm not sure that's the relevant bit of code, as the CFC error was tied to the getSiteAddresses() method, not the getEbookPricingOptions() method.

-Carl V.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 18, 2014 Mar 18, 2014

Copy link to clipboard

Copied

Youre probably correct that its the wrong bit of code.  We have three CFCs that are giving us identical errors / issues, and I could easily have swapped them in my searching.

The dev guys are working to rewrite the call.  Hopefully that will get it working.

I still find it odd that it's calling the includes even if you feed it garbage.  That the part that still bothers me.  Perhapsy its literally tryingto load the URL as a variable, and its calling index.cfm that way.  Who knows.  Im way out o fmy element.

Thank you very much for the help

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 19, 2014 Mar 19, 2014

Copy link to clipboard

Copied

OK, so let us assume FuseBox is otherwise working correctly. What you've just said made me go back. Reconsider this URL:

for instance, this is broken:

http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?met hod=getEbookPricingOptions&_c...

How does it come about? How did it get to be URL-encoded?

As Carl has already suggested, all the trouble may be the result of a cascade of errors. One possible cascade may occur as follows:

1) The URL causes an error because it is translated or interpreted wrongly in the browser or in a calling application.

(Verify, for example, by testing the effect of the decoded variant of the URL: http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?method=getEbookPricingOptions&_cf...{"eBookVendorID":"2","selectedEbookPricingID":"1"}&_cf_nodebug=true&_cf_nocache= true&_cf_clientid=0E09335044A83C729FD95AE3EF8AA869&_cf_rc=0)

2) Your application is so configured that the error in 1), or one of the settings passed in the query-string, generates a request, thereby engaging the FuseBox engine. I am thinking of an error-handler, for example.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 19, 2014 Mar 19, 2014

Copy link to clipboard

Copied

I dont know whats causing teh URL encoding, the code looks to be a cfgrid with a bind to the cfc with teh arguments.

If I cleanup the url and go directly here, it return the expected results:

http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?method=getEbookPricingOptions&ret...{"eBookVendorID":"2","selectedEbookPricingID":"1"}

And yes, I bleive youre correct in statement 2, that the setting sbeing passed are generating an unintended request to the index.cfm page.

I have relayed all this information to the dev team who will investigate.  Its not my place to actually change any code.  But I needed some ammunition, since they said it was a problem with CF10 and that it was a server/systems issue, not the code.

Thanks again.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 20, 2014 Mar 20, 2014

Copy link to clipboard

Copied

GuitsBoy wrote:

I dont know whats causing teh URL encoding, the code looks to be a cfgrid with a bind to the cfc with teh arguments.

I think I know. The encoding is done by ColdFusion internally. There is definitely a bind to CFC. Might be from cfgrid, but not necessarily. Might also be from cfselect, as you yourself have pointed out, or from any tag that has bind as attribute: cfdiv, cfinput, and so on. In fact, I have verified that the following are typical URL variables that ColdFusion automatically adds to the query-string when it does a bind:

_cf_ajaxproxytoken

returnFormat

argumentCollection

_cf_nodebug

_cf_nocache

_cf_clientid

_cf_rc

If the bind is from a grid, then the argumentCollection structure will contain, in addition, the grid parameters,

page

pageSize

gridsortcolumn

gridsortdirection

Putting all this together, we can deduce from this thread that your application uses the following 2 binds:

<cfselect bind="cfc:sitecampuses.getEbookPricingOptions({eBookVendorID},{selectedEbookPricingID})">

<cfgrid bind="cfc:siteaddresses.getSiteAddresses({cfgridpage},{cfgridpagesize},{cfgridsortcolumn},{cfgridsortdirection}, SiteID=5)">

Each of these tags occurs on a CFM page. Opening that page counts as one HTTP request, something like 'GET myPage.cfm'. The Fusebox engine kicks off and handles the request in the usual manner, presumably without problems.

However, in each case, there is a second request, an AJAX request generated by the bind. It is actually generated by Javascript code in the original page myPage.cfm. ColdFusion had automatically embedded the Javascript as part of the response to the request for myPage.cfm. The second request is something like 'GET siteaddresses.cfc?method=getSiteAddresses&_cf_ajaxproxytoken=67E4609E9E8A7F998867&_cf_clientid=0E09335044A83C729FD95AE3EF8AA869&returnFormat=json&argumentCollection=...etc., etc'. ColdFusion includes parameters like _cf_ajaxproxytoken and _cf_clientid in the AJAX code to act as unique identifiers.

That is then what happens under the hood. It seems that, in your case, the combination of ColdFusion and Fusebox is having trouble processing the second request. Which raises 2 questions:

1) What version of Fusebox do you use? Different Fusebox versions require different configuration techniques for processing requests involving CFCs.

2) The following exception suggests that the essential file fbx_fusebox30_CF50.cfm was included. This in turn suggests that its parent page, index.cfm, did run. 

16:00:24.024 - MissingInclude Exception - in /var/www/html/dynamic/fbx_fusebox30_CF50.cfm : line 276

Could not find the included template circuits/admin/fbx_Layouts.cfm.

Now consider the other exception: 

Element FUSEBOXOSNAME is undefined in REQUEST.

The error occurred in /var/www/html/dynamic/fbx_Settings.cfm: line 63

This tells us that fbx_Settings.cfm was included in fbx_fusebox30_CF50.cfm as expected. To summarize, index.cfm includes fbx_fusebox30_CF50.cfm which in turn includes fbx_Settings.cfm. Furthermore, we take it for granted that the code in index.cfm that sets the variable REQUEST.fuseboxOSName occurs before the cfinclude tag. Otherwise there would have been obvious errors during normal CFM requests. So what does this tell us?

It leads me to one conclusion. When the request generated from a bind is processed, it bypasses the code in index.cfm that sets the variable REQUEST.fuseboxOSName. 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 20, 2014 Mar 20, 2014

Copy link to clipboard

Copied

Thanks again BKBK. I have forwarded yoru notes on to our dev team.

This is an older version of fusebox, Fusebox 3.0 I believe, intended for CF5+. 

What youre saying above does make sense, except for why fusebox is being called in the first place.  What I dont understand is that if I call the cfc directly, it does not seem to include any fusebox files, however if a page calls the cfc via cfgrid with URL encoding, then we get the fusebox errors.  My guess is that the url encoding is breaking things, making the browser try to load the root of the domain ( admin.absbook.cf10/ ) instead of the specific path down to the cfc.  Unfortunately its not a browser specific issue, as the same things hapens to chrome, firefox, IE, opera, etc.

Thanks again,

-Tony

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 20, 2014 Mar 20, 2014

Copy link to clipboard

Copied

We all agree something breaks during the AJAX CFC bind. Chances are that it is at the level of code. Why would ColdFusion process index.cfm, yet omit the line of code - in index.cfm - that sets the variable REQUEST.fuseboxOSName? Possibly because ColdFusion bypasses that line of code when processing the AJAX request. The developers should look into this.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 20, 2014 Mar 20, 2014

Copy link to clipboard

Copied

But the CFC should not be calling index.cfm at all.  Its not pert of fusebox.  Its a stanalone cfc.

But again, I am out of my element here.  The fact that calling teh CFC directly with sanitized variables works as it should proves to me that it is not a system issue.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 20, 2014 Mar 20, 2014

Copy link to clipboard

Copied

LATEST

GuitsBoy wrote:

But the CFC should not be calling index.cfm at all.  Its not pert of fusebox.  Its a stanalone cfc.

That is true. But something has gone wrong and it isn't working as it should. I am only suggesting how this might have happened.

But again, I am out of my element here.  The fact that calling teh CFC directly with sanitized variables works as it should proves to me that it is not a system issue.

You actually have your finger on the pulse. Since the code breaks, we cannot even be sure if the AJAX call is interpreted as a CFC call at all!

I am curious what you will get when you open in Firefox the respective files containing the cfgrid and cfselect tags discussed above, with Firebug swtiched on. In each case, click on Firebug's 'Net' setting. Then read off the status, URL, params, headers(particularly, request) and response.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 19, 2014 Mar 19, 2014

Copy link to clipboard

Copied

GuitsBoy wrote:

It appears that the cfc is somehow calling fbx_Settings.cfm, however it is not calling index.cfm which sets request.fuseboxosname.

That is as it should be. The file fbx_Settings.cfm is the first file to be processed in Fusebox, and it is processed at every request. It therefore has a lot of the responsibilities of the Application file. So, it would make for a much better design to define a request variable, for example, request.fuseboxosname, in fbx_Settings.cfm instead!

In fact, if you look at the code in index.cfm, you should see something like:

<cfset variables.fuseboxVersion = replace(replace(listDeleteAt(server.ColdFusion.ProductVersion,4),",","","all")," ","","all")>

<cfset request.fuseboxOSName = server.os.name>

<cfif variables.fuseboxVersion LTE 450>

<cfelseif variables.fuseboxVersion LT 500>

<cfelseif variables.fuseboxVersion LT 600>

<cfelse>

     <cfif request.fuseboxOSName contains "Windows">

         <cfinclude template="fbx_fuseboxXX_CFYY.cfm">

     <cfelse>

         <cfinclude template="fbx_fuseboxXX_CFYY_nix.cfm">

     </cfif>

</cfif>

As you can see, server.os.name is a server variable. It isn't going to change anytime soon. It therefore makes little design sense to store it in request scope. Unless, of course, you can justify this.

However, let us put that aside, and dig deeper into the business at hand. I would disagree with you, as I do believe that index.cfm is called. If there is one fundamental action in FuseBox, it is the call to index.cfm. What probably happens in your case is that the index.cfm file fails to do an 'include' of the proper Fusebox files.

Review your code and verify the lines I have italicized. XX and YY stand for the relevant version numbers. Their values are possibly XX=30 and YY=50. Regarding fuseboxVersion, I am on ColdFusion 10.0.13, so the code will calculate my fuseboxVersion to be 10013.

Now, review the code in fbx_fuseboxXX_CFYY.cfm and fbx_fuseboxXX_CFYY_nix.cfm. Ensure that each of these files does an 'include' of the appropriate fbx_Settings.cfm file.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 19, 2014 Mar 19, 2014

Copy link to clipboard

Copied

Thank you for the post BKBK.

Fusebox works perfectly fine when intentionally browsing to index.cfm, or simply going to the domain name.

The weirdness we are experiencing is when we are calling a CFC directly, it seems to be including fusebox somehow.  The CFC has no includes, so we cannot figure out how fusebox is even coming into the equation.  Our current best guess is that the parameters being passed to the CFC may include a URL, although I am not positive of this.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation