无法添加最基本的RESTful网络服务

4
我在使用CF10(64位)(开发者版?)的Windows 2008 R2(64位)系统。我正在尝试实现这个非常基础的教程: http://blogs.coldfusion.com/post.cfm/rest-support-in-coldfusion-part-i 我通过IIS在8081端口创建了一个新网站,然后添加了两个文件: /index.cfm(理论上,因为没有需要包含应用程序变量的application.cfc,我可以跳过这一步)。
<cfset s = "Hello World!">
<cfoutput>#s#</cfoutput>

/RestExample/HelloWorld.cfc

<cfcomponent rest="true" restPath="/hello">
        <cffunction name="sayHello" access="remote" returnType="String" httpMethod="GET">
                 <cfset res="Hello World">
                 <cfreturn res>
        </cffunction>
</cfcomponent>

在CF管理界面中:
根路径:C:/websites/test/RestExample/ 服务映射:Example 我收到以下错误信息:
Error registering REST service. Please ensure that you have entered a proper mapping and path.
Application Example could not be initialized.
Reason: The application does not contain any rest enabled CFCs.
The application does not contain any rest enabled CFCs.

一些系统信息:
Server Product  ColdFusion  
Version  10,0,8,284032  
Tomcat Version  7.0.23.0  
Edition  Developer    
Serial Number  Developer    
Operating System  Windows Server 2008 R2    
OS Version  6.1    
Update Level  /C:/ColdFusion10/cfusion/lib/updates/chf10000008.jar    
Adobe Driver Version  4.1 (Build 0001)    
JVM Details  
Java Version  1.6.0_29    
Java Vendor  Sun Microsystems Inc.    
Java Vendor URL  http://java.sun.com/  
Java Home  C:\ColdFusion10\jre 

我不确定这是否是一个配置问题,这个问题与我的先前问题相关,我试图简化一切以分离出原因。

编辑 #1 我能够将这个非常简单的RESTful服务添加到Windows 7 64位/CF 10(没有更新)中,没有任何问题。我想知道是我的安装损坏了还是更新导致了它?

编辑 #2 我重新安装了CF服务器,但仍然遇到了同样的问题。

编辑 #3

根据milanchandna的建议,我按照以下步骤进行:

  1. 创建文件夹c:\websites\milanchandna
  2. 在IIS中创建了一个新的网站(名为milanchandna,使用与之同名的应用程序池),并将c:\websites\milanchandna用作根目录,在8084端口上运行
  3. 创建jakarta虚拟目录(需要)
  4. 添加了基本的HelloWorld.cfc
  5. 成功访问HelloWorld.cfc,无错误
  6. 在CF管理员中,REST服务,添加以下内容:
  7. 根路径:C:/websites/milanchandna/
  8. 服务映射:Example
  9. 单击“添加服务”
  10. 出现错误: 注册REST服务时出错。请确保您输入了正确的映射和路径。 无法初始化应用程序Example。 原因:应用程序不包含任何启用REST的CFC。 应用程序不包含任何启用REST的CFC。

HelloWorld.cfc:

<cfcomponent rest="true" restPath="/hello">
        <cffunction name="sayHello" access="remote" returnType="String" httpMethod="GET">
                 <cfset res="Hello World">
                 <cfreturn res>
        </cffunction>
</cfcomponent>
2个回答

1
我将文件创建在 C:\ColdFusion10\cfusion\wwwroot 下(而不是站点的 IIS 根目录下),并成功地通过管理控制台注册了 REST 服务。

0

由于这是一个基本示例,无法工作,我建议从头开始跟随它。

  1. 在IIS webroot中创建一个全新的文件夹。这不应该在已经用于CF REST的任何文件夹内部。
  2. 只需在此文件夹中放置一个简单的rest cfc,不要放其他东西。您问题描述中给出的CFC示例看起来很好,让我们使用它。
  3. 像访问任何cfm一样从浏览器访问此CFC

    例如:[http://mysite:8081/mypath_to_cfc/mycfc.cfc]

  4. 检查是否会引发任何错误。如果有,则CFC存在问题。如果没有,则可以继续进行。

  5. 从管理员处将此文件夹注册为REST应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接