REST Server сломался при смене серверов - Drupal 6.22 - PullRequest
3 голосов
/ 09 ноября 2011

Проблема

  • Установка Drupal 6.22 с сервером REST и сервисными модулями.

  • Я делаю POST для http://domainname.co.uk/rest/users/logout и получаю ошибку 500.

  • В логах:

    PHP Fatal error:  Call to undefined function services_resource_uri_formatter() in /home/organicd/public_html/domainname.co.uk/live/public/sites/all/modules/rest_server/includes/RESTServer.inc on line 15
    

Фон

У меня была установлена ​​Drupal с REST-сервером, установленным и работающим отлично. Вся установка была перенесена на другой сервер (не мной). Мне сказали, что все папки были сохранены. Единственное отличие заключалось в том, что старый сервер имел сертификат SSL.

На старом сервере я мог бы выполнить POST с помощью консоли REST до https://domainname.co.uk/rest/users/logout, и он бы отключил текущего пользователя. Теперь я получаю ошибку 500 с записью в журнале выше.

Что я пробовал

  • Отключение сервера REST. Я прочитал, что в Services 3.0 встроен REST. Когда я отключаю сервер и службы REST, а затем снова включаю службы, я получаю:

     The plugin definition of services_ctools_export_ui cannot locate schema services_endpoint.
    

    и я не вижу где-либо в модуле администрирования модуля, что я могу настроить параметры REST.

  • Другая версия Услуг . Пробовал обновить с 6.x-3.0-rc1 до 6.x-3.0, но это не имеет никакого значения

  • Взлом кода . Я нашел версию services.module с функцией services_resource_uri_formatter(). Я добавил это, но получил похожую ошибку, сказав, что не может найти другую функцию. Я чувствую, что эта дорога ведет к безумию.

Версия

  • Drupal 6,22
  • Ctools 6.x-1.x-dev
  • REST Server 6.x-2.0-beta3
  • Службы 6.x-3.0-rc1 (также пробовал последнюю версию 6.x-3.0)

Вопрос

Как мне заставить Drupal 6.22 REST снова работать? Что я делаю не так?

Ответы [ 3 ]

4 голосов
/ 15 декабря 2011

Спасибо, Джон и Мир,

Мы поняли, что в нашем случае произошел конфликт между отдельным модулем rest_server и возможностями сервера остальных, которые включены в сам сервисный модуль.

Наш модуль зависел от модуля rest_server, и мы включали и загружали его. Этот модуль был сломан в отношении услуг.

Решением для нашего случая было отключить один сервер rest_server и удалить его. Отключите службы и включите снова. должен появиться еще один rest_server версии 3, который поставляется с сервисами.

Затем мы включаем этот модуль сервера покоя, и все работает как по волшебству.

Привет.

2 голосов
/ 15 декабря 2011

Если вы используете Сервисы 3, убедитесь, что вы не ставите зависимость от модуля поддержки Rest Server (Rest Server поставляется в комплекте с Сервисами 3).

0 голосов
/ 15 декабря 2011

Оказывается, я не правильно настроил службу REST в интерфейсе администратора.

  1. Войдите в интерфейс администратора, затем перейдите в Создание сайта> Услуги> Список.
  2. Нажмите «Редактировать»
  3. Прокрутите вниз и установите флажок рядом с «Аутентификация сессии» и нажмите «Сохранить»

Мне также нужно было отметить все поля «Форматировщики ответов» и «Анализ запросов» на вкладке «Сервер» экрана редактирования службы.

Надеюсь, это решит проблему для других!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...