Ok, I've run into a problem both google and Macromedia's Forums can't seem to solve. I have a virtual host on my dev machine. Under the web root of this virtual host is foo.cfc. When I first called it via the browser, I got an error. This was fixed by simply adding an alias for CFIDE that pointed to the main webroots CFIDE folder. I could then view the self-documentation created for the CFC.
However, every attempt to call the CFC as a web service results in:
Sorry, something seems to have gone wrong... here are the details:
Fault - [java.lang.ClassNotFoundException : tasktrackerproxy][; nested exception is:
coldfusion.xml.rpc.CFCInvocationException: [java.lang.ClassNotFoundException : tasktrackerproxy]
Anyone have an idea what the problem is? (And even better, a solution.)
Archived Comments
hmmm... no probe here. What webserver, OS, CFMX version?
ok that was "no probs..."
Dont think Apache Axis recognizes the virtual hosts maybe and you need to reference virtual content as your root host/~virtualHost/foo.cfc?WSDL, where tilde is the url prefix you selected.
I've had to recreate the JRunScripts virtual directory from the main site when I've created new virtual hosts & tried to use Flash remoting with IIS, maybe this is something similar?
Ray: I struggled with the same thing, searched high-and-low, and finally surrendered. No CFC outside the default webroot would respond as a webservice.
My ugly workaround was to create wrapper CFCs inside the primary webroot that call the real components and return the results. It's annoying, but it works.
Hi Ray,
I may be on the wrong track here but have you tried adding the mapping in the jrun-web.xml file. This is one of the ways to solve mapping problems at a level lower than CF mappings. Changing it at the JRUN level means that things like AXIS also see the mapping.
example snippet from my jrun-web.xml (hope the formatting works)
<jrun-web-app>
<!-- =========================================================== -->
<!-- Virtual path mappings allow a resource path to be mapped -->
<!-- to a different physical location (i.e. not necessarily -->
<!-- within the web application root). A resource-path can -->
<!-- end with a wild card '*' indicating that all resources -->
<!-- paths that start with the given path will be resolved using -->
<!-- the system path. -->
<!-- =========================================================== -->
<virtual-mapping>
<resource-path>/WEB-INF</resource-path>
<system-path>C:/CFusionMX/wwwroot/WEB-INF</system-path>
</virtual-mapping>
<virtual-mapping>
<resource-path>/lib</resource-path>
<system-path>C:/wwwroot/lib</system-path>
</virtual-mapping>
</jrun-web-app>
Hi Ray - I've just realised that you have solved this problem - and this wasn't the solution - note to self - check dates before posting.
I know this is a while ago but i'm having a similar problem - how did you fix this?
I've encountered similar problem. My configuration: Win2003 + IIS + CF7 Ent. The problem is definetely related to the CF mappings. CF can resolve/match the mapping that should be used when you access a .cfc from url. But CF cannot resolve/match the mapping that should be used when you want to access a .cfc?WSDL from url.
There are two workarounds:
1) Deploy the web services under the root (/) mapping
2) Add virtual dir to the IIS using the name of the CF mapping.