Не удается зарегистрировать пользователя в службах drupal (служба Response 500 с ошибкой недоступна)

С помощью,
Drupal 7.x,
Услуги 3.x.

Все работает,
Авторизоваться
Получение всех узлов
выйти
Получение токенов и т. Д.

Только при регистрации нового пользователя я получаю услугу reponse 500, недоступную!

Попытка это так,

POST метод для

xyz.com/rest/user/register

где отдых это конечная точка!

Размещение данных для регистрации, как это,

{
"name":"user343",
"pass":"kes35@r4",
"mail":"user343@sample.com",
"status":"1"
}

1 ответ

Ваша ошибка вызвана ошибочным вызовом валидации в сервисном модуле drupal. Это трудно выследить. Попробуйте быстрое исправление в файле services/resources/user_resource.inc для исправления.

diff --git a/resources/user_resource.inc b/resources/user_resource.inc
index 04801fb..7693f2d 100644
--- a/resources/user_resource.inc
+++ b/resources/user_resource.inc
@@ -335,14 +335,6 @@ function _user_resource_create($account) {
   // Execute the register form.
   $form_state['programmed_bypass_access_check'] = FALSE;

-  // Ensure this is validated, as drupal_form_submit will not call validation.
-  user_register_validate('user_register_form', $form_state);
-  $errors = form_get_errors();
-  // If there are errors, then short circuit and return early.
-  if ($errors) {
-   return services_error(implode(' ', $errors), 406, array('form_errors' => $errors));
-  }
-
   drupal_form_submit('user_register_form', $form_state);
   // find and store the new user into the form_state
   if(isset($form_state['values']['uid'])) {

Если вас не устраивает стандартный патч, вы можете просто закомментировать эти строки, чтобы быстро применить ручное исправление. Информация получена с этой страницы. Продолжайте наслаждаться Drupal!

Другие вопросы по тегам