Skip to main content
Inspiring
August 28, 2013
Answered

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

  • August 28, 2013
  • 1 reply
  • 626 views

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>

This topic has been closed for replies.
Correct answer Steve Sommers

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"... />

1 reply

Steve SommersCorrect answer
Legend
August 28, 2013

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"... />