我似乎无法让CF REST工作。 在逐字尝试文档和几篇文章之后,我得到了404。
我正在使用apache - 根据其他帖子, JkMountFile“C:/ColdFusion11/config/wsconfig/1/uriworkermap.properties” 可能需要 - 我为了以防万一而添加了它,但这似乎没有什么区别。
APACHE VHOST
<VirtualHost *:80>
ServerName 127.0.0.1
ServerAlias 127.0.0.1
DocumentRoot "C:/wwwroot/CFREST2"
ErrorLog "C:/wwwroot/CFREST2/logs/error.log"
CustomLog "C:/wwwroot/CFREST2/logs/access.log" combined
JkMountFile "C:/ColdFusion11/config/wsconfig/1/uriworkermap.properties"
<Directory "C:/wwwroot/CFREST2/logs/">
AllowOverride None
Options None
Order allow,deny
Deny from all
</Directory>
</VirtualHost>
示例:
CFADMIN - registered
Root path: C:\wwwroot\CFREST2
Host: 127.0.0.1
Service Mapping: test
文件:(C:\ wwwroot \ CFREST2 \ rest3.cfc)
<cfcomponent rest="true" restpath="restService" >
<cffunction name="sayHello" access="remote" returntype="String" httpmethod="GET" >
<cfset rest = "Hello World" >
<cfreturn rest >
</cffunction>
在邮递员中获得请求:
http://127.0.0.1/rest/test/restService/
返回值:
404
在邮递员中获得请求:
http://127.0.0.1/rest/test/restService/sayHello
返回值:
404
我尝试了一些变化,然后总是得到404。
答案 0 :(得分:1)
FWIW,在提出这个问题 4 年多之后,我有一段时间没有使用 CF,我正在尝试通过设置 RESTful 服务来工作。
我收到了 404,并在我的异常日志中看到了这一点:
<块引用>java.io.FileNotFoundException: .../cfusion/wwwroot/WEB-INF/rest-skeletons/path.to.component.Fubar.class(权限被拒绝)
我检查过,运行该服务的帐户没有写入“rest-skeletons”目录的权限。我改变了,不再是 404,到下一个问题!
答案 1 :(得分:0)
尝试通过在单独的.cfm文件中运行它来初始化:
<cfset restInitApplication("C:\wwwroot\CFREST2","test")>