Could not resolve CFC datatype: Error when viewing a cfc?wsdl
Here is what it comes down to. Let's say you have a CFC on your server on the following physical location:
/data/cfcs/remotes/giftshop/products.cfc
And the apache or IIS web root points to "remotes", thus, to call this webservice wsdl you would use
http://myurl/giftshop/products.cfc?wsdl
Now let's say that you have a CFMX mapping to any directory, it actually doesn't matter, but with the name "giftshop".
When you go now to the wsdl URL you get this nasty error:
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Fault - Error attempting to create Java skeleton for CFC web service; nested exception is:
coldfusion.xml.rpc.CFCInvocationException: [coldfusion.xml.rpc.SkeletonClassLoader$UnresolvedCFCDataTypeException : Could not resolve CFC datatype: /giftshop/webProducts.cfc]
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Error attempting to create Java skeleton for CFC web service; nested exception is:
coldfusion.xml.rpc.CFCInvocationException: [coldfusion.xml.rpc.SkeletonClassLoader$UnresolvedCFCDataTypeException : Could not resolve CFC datatype: /giftshop/webProducts.cfc]
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:ibm-1.sandals.com
The problem lies that CFMX confuses the webroot path with the coldfusion mapping, it can't distinguish between them and actually follows the mapping. Once you remove or rename the CFMX mapping, the error disappears and you have a wsdl compilation.
Does anybody now if a fix is on the way? or already out? Please let me know.