ColdFusion 10 REST API注册配置及访问404报错排查求助
ColdFusion 10 REST API问题解答
服务映射(service mapping)说明
{service mapping}是你为当前REST服务组自定义的唯一标识,作用是在ColdFusion的全局REST路由中区分不同应用的服务,不需要再次填写CFC路径。你可以自定义任意字符串作为映射值,只要保证全局唯一即可,比如你设置为test,对应服务的访问前缀就是/rest/test/。
404及组件实例创建失败问题排查
你遇到的报错是因为ColdFusion注册REST服务时会扫描指定根目录下所有标注了rest="true"的CFC,只要有一个CFC加载失败,整个服务组都会注册失败,进而返回404,可按以下步骤排查:
- 先检查报错指向的
postTestReq.cfc第115行代码,确认该CFC有没有语法错误、未定义的变量、引用不存在的组件或继承路径错误的问题,修复所有CFC的报错后再重新注册服务。 - 不要同时使用两种注册方式:ColdFusion REST服务支持两种注册方式,二选一即可,同时使用会引发映射冲突:
- 管理员后台注册:填写根路径
D:/wwwroot/used_adm/cfc/resttest,服务映射填test,无需再在application.cfc中加restInitApplication代码 - 代码注册:在
application.cfc中保留<cfset restInitApplication("D:\wwwroot\used_adm\cfc\resttest","test") >,删除管理员后台对应的服务注册记录
- 管理员后台注册:填写根路径
- 补全访问路径:你配置的CFC
restpath为restService,方法sayHello的httpmethod为GET,完整访问路径应为http://域名:端口号/rest/test/restService/sayHello,仅访问到/rest/test/restService没有指定方法名会返回404。 - 确认ColdFusion服务运行账号对
D:/wwwroot/used_adm/cfc/resttest目录拥有读取权限,权限不足也会导致组件无法实例化。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

