ColdFusion 11 REST返回404

时间:2017-01-31 18:26:38

标签: apache rest coldfusion coldfusion-11

我似乎无法让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。

2 个答案:

答案 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")>

致电: http://127.0.0.1/rest/test/restService