1 Reply Latest reply on Aug 28, 2013 8:29 AM by Steve Sommers

    CF Component work on local computer but not on actual web.

    College Kid Level 1

      I'm using CF9 on windows 7 professional. when ever i execute from a form to the action page i get this error:

       

      Could not find the ColdFusion component or interface VAFOINS_NEW.Componet.display. Ensure that the name is correct and that the component or interface exists.

       

      It works fine on my local computer, however the Componet is not invoking properly when on the actual web. Any suggestions?

       

      THE CFC syntax is below:

       

      <!--- Generated by Adobe Dreamweaver CS5 11.0.4.4993 [en] (Win32) - Fri Sep 23 2011 15:56:13 GMT-0400 (Eastern Daylight Time) --->

       

       

      <cfcomponent displayName="volno" hint="List all FCN, NS, FOID etc. Items By way of volno input">

      <cffunction name="volno" returntype="query">

      <cfquery name="volno"> select TRIM(CONCAT(name.fname,' ',name.xholy))AS Brother, name.foiid, fcn.*, nspay.*, Foidpay.*, otherpay.*, CONCAT(otherpay.othpayamt,' - ',otherpay.othpaytitle) AS otherpay, fcnsales.salesid,(fcnsales.salesamt) AS FCN_SOLD, salesdate

      FROM name, fcn, fcnsales, foidpay, nspay, otherpay

      WHERE 0=0

      AND Fcn.fcnvolno = '#form.volno#'

      AND name.foiid= fcnsales.salesfoiid

      AND FCN.fcnid= fcnsales.salesfcnid

       

       

      AND name.foiid= nspay.NSPAYfoiid

      AND nspay.nspaydate= fcnsales.salesdate

       

       

      AND name.foiid= FOIDPAY.foidpayfoiid

      AND FOIDPAY.foidpaydate= fcnsales.salesdate

       

       

      AND name.foiid= otherpay.othpayfoiid

      AND otherpay.othpaydate= fcnsales.salesdate

      ORDER BY name.city desc, name.foiid

      </cfquery>

      <cfreturn "#volno#">

      </cffunction>

       

       

       

       

      <!---NEW FUNCTION--->

      <cffunction name="total" returntype="query">

      <cfquery name="total">

      SELECT name.*, fcn.*, sum(fcnsales.salesamt) AS FCN_SOLD_This_Issue, salesdate

      FROM name, fcn, fcnsales

      WHERE 0=0

      AND Fcn.fcnvolno = '#form.volno#'

      AND name.foiid= fcnsales.salesfoiid

      AND FCN.fcnid= fcnsales.salesfcnid

      </cfquery>

      <cfreturn "#total#">

      </cffunction>

       

       

      <!---NEW FUNCTION--->

      <cffunction name="total_NS" returntype="query">

      <cfquery name="total_NS">

      SELECT SUM(nspay.nspayamt) AS total_ns

      FROM nspay

      WHERE 0=0

      AND nspay.nspayvolno= '#form.volno#'

      </cfquery>

      <cfreturn "#total_NS#">

      </cffunction>

       

       

      </cfcomponent>

       

      ------------------------------------------------------------------------------------------ ---

       

      My action page which invokes the cfc has the code below:

       

      <cfinvoke

        component="VAFOINS_NEW.Componet.display"

        method="volno"

        returnvariable="volno">

      <!--- CFC Query --->

      </cfinvoke>

       

       

      <cfinvoke

        component="VAFOINS_NEW.Componet.display"

        method="total"

        returnvariable="total">

      <!--- CFC Query --->

      </cfinvoke>

       

       

      <cfinvoke

        component="VAFOINS_NEW.Componet.display"

        method="total_NS"

        returnvariable="total_NS">

      <!--- CFC Query --->

      </cfinvoke>

       

       

       

       

      <cfquery name="total_FOID" >

      SELECT SUM(foidpay.foidpayamt) AS total_foid

      FROM foidpay

      WHERE 0=0

      <!---AND foidpay.foidpaycity='richmond'--->

      AND foidpay.foidpayvolno= '#form.volno#'

      </cfquery>

       

       

      <cfquery name="total_other" >

      SELECT SUM(otherpay.othpayamt) AS total_other

      FROM otherpay

      WHERE 0=0

      <!---AND otherpay.othpaycity='richmond'--->

      AND otherpay.othpayvolno= '#form.volno#'

      </cfquery>

       

       

      <cfquery name="total_FOIClass_Attendance" >

      SELECT COUNT(CLASSFOIID) AS foic_attendance

      FROM foiclass

      WHERE 0=0

      <!---AND foiclass.classcity='richmond'--->

      AND foiclass.classvolno= '#form.volno#'

      </cfquery>

       

       

      <cfquery name="List_Class_Attendance" >

      select trim(CONCAT(name.type,': ',name.fname,' ',name.xholy,' ',name.slave))AS Brother, name.foiid, foiclass.classfoiid FROM name LEFT JOIN foiclass ON foiclass.classfoiid= name.foiid WHERE foiclass.classvolno='#form.volno#' order by name.type, brother

      </cfquery>

       

       

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

      <html xmlns="http://www.w3.org/1999/xhtml">

      <head>

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      <title>VOL NO Results</title>

       

      </head>

       

       

      <body>

       

       

      <!---CFML Below--->

       

       

      </body>

      </html>

        • 1. Re: CF Component work on local computer but not on actual web.
          Steve Sommers Level 4

          My guess is a problem with the dot path notation. I'm always fighting with this. Most likly your local computer is using a virtual directory named VAFOINS_NEW (http://127.0.0.1/VAFOINS_NEW/) and your production site points directly to the VAFOINS_NEW directory (http://somesite.com/). On your live site the dot path notation you are using is expecting http://somesite.com/VAFOINS_NEW/. Dot paths are a pain and whoever invented them should retire as he or she has done enough damage.

           

          I usually do something like this (I'm typing from memory so there will most likely be syntax error or two but hopefully you'll get the idea):

           

          <cfset variables.dotpath="" />

          <cfif listFindNoCase(cgi.script_path,"VAFOINS_NEW","/")>

               <cfset variables.dotpath="VAFOINS_NEW." />

          </cfif>

           

          <cfinvoke component="#variables.dotpath#Componet.display"... />