2017-01-31 5 views
3

Я не могу заставить CF REST работать вообще. После попытки документации и пару статей дословно, я получаю 404.ColdFusion 11 REST return 404

Я использую Apache - и в соответствии с другими должностями, JkMountFile «C: /ColdFusion11/config/wsconfig/1/uriworkermap.properties» Может понадобиться - я добавил это на всякий случай, но это, похоже, не имеет значения.

APACHE ВХост

<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> 

ИЗГОТОВЛЕНИЕ GET ЗАПРОС В ПОСТМАН:

http://127.0.0.1/rest/test/restService/ 

ВОЗВРАТ:

404 

ИЗГОТОВЛЕНИЕ GET ЗАПРОС НА POSTMAN:

http://127.0.0.1/rest/test/restService/sayHello 

ВОЗВРАТ:

404 

Я попробовал несколько вариантов, примыкают ВСЕГДА получить 404 .

+0

Хост в CF администратора REST Services не является обязательным - вы уверены, что он должен быть установлен в 127,0 .0.1? Вы тестируете его на своей локальной машине? Попытайтесь оставить его пустым, может быть. Попробуйте изменить restpath = "restService" to restpath = "/ restService" Также - в CF Admin - Data & Services> REST Services - нажмите кнопку обновления и проверьте, правильно ли он обновлен - должен быть «Сервер имеет был успешно обновлен "сообщение вверху. GET http://127.0.0.1/rest/test/restService должен быть правильный путь. – Lucas

+0

Ну, одна из моих тестовых папок начала работать после того, как я вернулся с обеда ... Пока один все еще бросает 404s Я подозреваю, что перезагрузка службы сделала трюк, но Im все еще путается о том, почему - перезапуск службы не упомянутых в любых документах. Это слишком непоследовательно, и дополнение «остальное» к разрешению пути вместе с некоторыми другими странностями не позволит мне использовать CF для моих API REST. Я думаю, что CF пропустил эту лодку. – jpmyob

ответ

0

Попробуйте инициализировать, запустив это в отдельном файле .cfm:

<cfset restInitApplication("C:\wwwroot\CFREST2","test")> 

Для вызова: http://127.0.0.1/rest/test/restService