Web Services / Virtual Host Issue

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:

AXIS error

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

Comment 1 by dave ross posted on 4/24/2004 at 2:31 AM

hmmm... no probe here. What webserver, OS, CFMX version?

Comment 2 by dave ross posted on 4/24/2004 at 2:32 AM

ok that was "no probs..."

Comment 3 by Ralph posted on 4/24/2004 at 2:27 PM

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.

Comment 4 by Lindsay Evans posted on 4/24/2004 at 2:51 PM

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?

Comment 5 by Roger Benningfield posted on 4/24/2004 at 7:16 PM

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.

Comment 6 by Mark Lynch posted on 5/3/2004 at 2:27 AM

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>

Comment 7 by Mark Lynch posted on 5/3/2004 at 3:14 AM

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.

Comment 8 by Kay posted on 4/12/2005 at 3:03 AM

I know this is a while ago but i'm having a similar problem - how did you fix this?

Comment 9 by Murat posted on 9/4/2005 at 1:47 PM

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.