3 Replies Latest reply on Feb 5, 2011 7:47 AM by gkane0120

    cfcexplorer.cfc error when trying to connect to data service

    JohnAtNook Level 1

      I'm using Flash Builder 4.0.1 and following this tutorial.

       

      I got to the point of adding the service - i entered the rds password, hit next and got the following error:
       
      The CFC file is invalid. Possible causes can be found by accessing: http://localhost:8500//CFIDE/componentutils/cfcexplorer.cfc?method=getCFCMetaData&name=Emp loyeeService&path=%2FSecretFarmer.com%2Fwww%2Ftestdrive%2Fservices%2FEmployeeService.cfc">http://localhost:8500//CFIDE/componentutils/cfcexplorer.cfc?method=getCFCMetaData&name=Emp loyeeService&path=%2FSecretFarmer.com%2Fwww%2Ftestdrive%2Fservices%2FEmployeeService.cfc 
       
      When I browse to that URL I get the following:
       
      The value returned from the getCFCMetaData function is not of type struct.
      If the component name is specified as a return type, it is possible  that either a definition file for the component cannot be found or is  not accessible.
        
      Resources:
       
           * Check the ColdFusion documentation to verify that you are using the correct syntax.
           * Search the Knowledge Base to find a solution to your problem.
       
      Browser    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
      Remote Address    0:0:0:0:0:0:0:1%0
      Referrer    http://localhost:8500//CFIDE/componentutils/cfcexplorer.cfc?method=getCFCMetaData&name=Emp loyeeService&path=%2FSecretFarmer.com%2Fwww%2Ftestdrive%2Fservices%2FEmployeeService.cfc 
      Date/Time    05-Jan-11 08:59 PM
      Stack Trace
       
       
      coldfusion.runtime.UDFMethod$InvalidReturnTypeException: The value  returned from the getCFCMetaData function is not of type struct.
        at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:429)
        at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:368)
        at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:55)
        at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:321)
        at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:517)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:496)
        at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:355)
        at coldfusion.filter.ComponentFilter.invoke(ComponentFilter.java:187)
        at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:381)
        at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
        at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
        at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
        at coldfusion.filter.PathFilter.invoke(PathFilter.java:94)
        at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
        at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
        at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
        at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
        at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
        at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
        at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
        at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:138)
        at coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:289)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
        at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
        at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 )
        at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
        at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
        at jrun.servlet.FilterChain.service(FilterChain.java:101)
        at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
        at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
        at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
        at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
        at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
        at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
        at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
        at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
        at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

        • 1. Re: cfcexplorer.cfc error when trying to connect to data service
          Balaji Sridhar Level 2

          Hi,

           

          Can you let us know which is the documentation you are following?

           

          Also, would it be possible to share your EmployeeService.cfc?

           

           

          Thanks,

          Balaji

          • 2. Re: cfcexplorer.cfc error when trying to connect to data service
            gkane0120 Level 1

            Here's the component code that is failing...returntype is 'struct'...does not look like it is returning a struct below (in bold)...please advise, thx!:

             

            <cffunction name="getCFCMetaData" returnType="struct" output="no" access="remote"

            hint="Returns MCDL document representing the specified component.">

            <cfargument name="name" type="string" required="no" />

            <cfargument name="path" type="string" required="no" />

             

            <cftry>

            <cfscript>

            if ( IsDefined('arguments.path') and arguments.path neq '' )

            {

            // we are trimming the extension if provided with path. because of

            // 76373. We want to use GetComponentMetadata method as it gives advantage

            // over GetMetadata, in terms of not initializing the object to get metadata.

            // but Flex builder request come to call this method directly which have .cfc appended in the path.

            var trimmedPath = HTMLEditFormat(arguments.path);

            var indexOfCFC = FindNoCase("cfc.",reverse(trimmedPath)); // "cfc." = reverse(".cfc")

            if (indexOfCFC eq 1) // trimmedPath ends with .cfc

            {

            trimmedPath = Left(trimmedPath, len(trimmedPath) - 4); // Remove .cfc

            }

            return getComponentMetaData(trimmedPath);

            }

            else if( isDefined('arguments.name') )

            {

            //This name should be a fully qualified name.

            return getComponentMetaData(HTMLEditFormat(name));

            }

            </cfscript>

            <cfcatch type="coldfusion.runtime.CfJspPage$NoSuchTemplateException">

            <cfoutput><h4>Component not found</h4>

            The component definition file for component '#HTMLEditFormat(name)#' cannot be found on this server.</cfoutput>

            </cfcatch>

            </cftry>

            </cffunction>

            • 3. Re: cfcexplorer.cfc error when trying to connect to data service
              gkane0120 Level 1

              Looked at the documentation for 'getComponentMetaData' function, and it does return a structure, so not sure what could be wrong ??

               

              Any help would be appreciated!

               

              Thx!  GK