This content has been marked as final. Show 14 replies
Originally posted by: Newsgroup User
hmm... iirc the cfc attrib of cfajaxproxy tag requires a dot-delimited
path to a cfc, not /-delimited...
I have now changed it to
<cfajaxproxy cfc="kost.AuthenticationSystem" jsclassname="AuthenticationSystem" />
But with the same result.
it still looks for AuthenticationSystem at http:\\server\AuthenticationSystem
and not at the corect place http:\\server\kost\AuthenticationSystem
Is it not possible to have the ajax cfc's in a sub dir not in the wwwroot??
Have you tried to call the CFC directly from that path, verifying that it can be reached? Possibly an issue with your server resource/virtual directory mapping.
I found this in Ben Forta's blog
We found our problem... using 'Virtual Directories' in IIS, the ColdFusion AJAX feature binding won't work (it just can't seem to find the cfc file). When the same files are installed on the web root, it works 100%.
What really threw us off was that, with our original configuration, the cfc's were accessible via a cfinvoke and via the url...
Unfortunately, it will be alot of work to re-configure our other webservers so that we can utilize these new features.
# Posted By Ed | 11/1/07 4:51 PM
I think that this is an error in CF8. No one will put all there cfc's in the webroot just to be able to make an call using ajax. I'm waiting for an error fix from Adobe.
This is also why I do see
and not (as it should be)
hey Kruse, I'm having the same exact problem.. It's identical in everyway.. Why is is messing up that /kost/ directory?? Well.. Let's keep this going. Let me know if you make any progress on the solution to this problem and not a work-around. Justin
Hi Justin, I have dropped using this cfajaxproxy.
Instead I have started to make my interfaces in Flex.
You can do more nice things in Flex than you can do in Coldfuision and Ajax.
Besides it can be transferred into Air (desktop application) with a little effort.
thanks kruse! I appreciate your insights.
here's from the CF8 Developers' Guide, Chapter 35, page 650:
Using bind expressions
To specify a bind expression, use one of the following formats:
The component path cannot use a mapping. The componentPath value must be
a dot-delimited path from
the web root or the directory that contains the current page.
Azadi, one thing is what the Development guide says and another thing is what works in real life.
I have tested this and I can’t get it to work.
The only way I can get it to work is if I place the cfc in the web root. What I don’t want to.
i was actually answering justin's previous comment "why is it messing up
that /kost/" directory?" and pointing out that what he (and you) was up
against is not a bug, but a documented way cf8 works: you CAN NOT bind
to a cfc located in a mapped directory outside of web root.
Thanks Azadi. It's nice to get concrete confirmation. Although it's documented, it did go against both of our logic of how we thought it should work, especially after we'd successfully completed other tasks, like calling an object from a mapped directory. I've been able to find a suitable work around as well as gain more working knowledge about the Coldfusion Environment.
"No one will put all there cfc's in the webroot just to be able to make an call using ajax. I'm waiting for an error fix from Adobe."
I agree 100%. I'm using IIS 5 web server as well. Adobe's CF8 project manager were not doing a good job.
You don't need to put your CFC in the web root! It simply needs to be in a non-aliased directory OFF OF the web root. I placed a components directory in my CFIDE directory and it works just fine. You will however need a ColdFusion mapping to the first directory - in my case CFIDE.
<cfajaxproxy cfc="CFIDE.components.myCompnent" jsclassname="myFuncs"> with my web root being "C:\inetpub\wwwroot" and the component file path as "C:\inetpub\wwwroot\CFIDE\components\myComponent.cfc". My ColdFusion mapping is "Logical Path = /CFIDE, Directory Path = C:\inetpub\wwwroot\CFIDE.
Of course, the directories and files must have the proper permissions.