23 Replies Latest reply: Mar 20, 2014 3:52 PM by BKBK RSS

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

    GuitsBoy Community Member

      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?

        • 1. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
          GuitsBoy Community Member

          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.

          • 2. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
            Carl Von Stetten Community Member

            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.

            • 3. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
              GuitsBoy Community Member

              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.

              • 4. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                Carl Von Stetten Community Member

                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.

                • 5. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                  GuitsBoy Community Member

                  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.

                  • 6. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                    Carl Von Stetten Community Member

                    Can you post the full error message/stack trace?

                     

                    -Carl V.

                    • 7. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                      GuitsBoy Community Member

                      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=getSiteAddresse s&_cf_ajaxproxytoken=67E4609E9E8A7F998867&returnFormat=json&argumentCollection=%7B%22page% 22%3A1%2C%22pageSize%22%3A3%2C%22gridsortcolumn%22%3A%22%22%2C%22gridsortdirection%22%3A%2 2ASC%22%2C%22SiteID%22%3A5%7D&_cf_nodebug=true&_cf_nocache=true&_cf_clientid=0E09335044A83 C729FD95AE3EF8AA869&_cf_rc=0

                       

                       

                       

                       

                      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

                      • 8. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                        Carl Von Stetten Community Member

                        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.

                        • 9. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                          GuitsBoy Community Member

                          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=getEbookPricingO ptions&_cf_ajaxproxytoken=67E4609E9E8A7F998867&returnFormat=json&argumentCollection=%7B%22 eBookVendorID%22%3A%222%22%2C%22selectedEbookPricingID%22%3A%221%22%7D&_cf_nodebug=true&_c f_nocache=true&_cf_clientid=0E09335044A83C729FD95AE3EF8AA869&_cf_rc=0

                           

                           

                          This works as expected:
                          http://admin.absbook.cf10/toDynamic/display/admin/sitecampuses.cfc?method=getEbookPricingO ptions&eBookVendorID=2&selectedEbookPricingID=1

                          • 10. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                            Carl Von Stetten Community Member

                            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.

                            • 11. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                              GuitsBoy Community Member

                              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'],['selectedEbookPrici ngID','MainForm_Tab4','change']],{'bindTo':'eBookPriceID','bindToAttr':'value','cfc':'/toD ynamic/display/admin/sitecampuses.cfc','cfcFunction':'getEbookPricingOptions','_cf_ajaxpro xytoken':'67E4609E9E8A7F998867','bindExpr':[['eBookVendorID','eBookVendorID','MainForm_Tab 4','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

                              • 12. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                Carl Von Stetten Community Member

                                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.

                                • 13. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                  Carl Von Stetten Community Member

                                  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.

                                  • 14. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                    GuitsBoy Community Member

                                    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

                                    • 15. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                      BKBK MVP

                                      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.

                                      • 16. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                        GuitsBoy Community Member

                                        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.

                                        • 17. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                          BKBK MVP

                                          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&_cf_ajaxproxytoken=67E4609E9E8A7F998867&ret urnFormat=json&argumentCollection=%7B%22eBookVendorID%22%3A%222%22%2C% 22selectedEbookPricingID%22%3A%221%22%7D&_cf_nodebug=true&_cf_nocache= true&_cf_clientid=0E09335044A83C729FD95AE3EF8AA869&_cf_rc=0

                                          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=getEbookPricingO ptions&_cf_ajaxproxytoken=67E4609E9E8A7F998867&returnFormat=json&argumentCollection={"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.

                                          • 18. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                            GuitsBoy Community Member

                                            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=getEbookPricingO ptions&returnFormat=json&argumentCollection={"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.

                                            • 19. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                              BKBK MVP

                                              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_cli entid=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. 

                                              • 20. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                                GuitsBoy Community Member

                                                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

                                                • 21. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                                  BKBK MVP

                                                  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.

                                                  • 22. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                                    GuitsBoy Community Member

                                                    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.

                                                    • 23. Re: Upgrade from CF8 to CF10 now CFC cant read from request scope
                                                      BKBK MVP

                                                      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.