XMLRPC и Drupal

Я использую XMLRPC для создания пользователя и получаю следующие две ошибки:

Illegal choice C in Roles element.
Illegal choice C in Status element

Как показано в отчете «Последние записи журнала».

Для звонка я использую C # и сборку XMLRPC (Cook computing). Я могу успешно подключиться и войти на сервер. SessionID и файлы cookie работают. Я просто думаю, что мне чего-то не хватает в создании пользователя.

Вот параметры, которые я отправляю:

[XmlRpcMethod("user.create")]
Drupal UserCreate(string name, string mail, string pass, string status);

Кто-нибудь знает, почему я получаю эту ошибку? Примечания: я использую Drupal 6.22 со службами 3.0.


person Kris Wenzel    schedule 21.01.2012    source источник
comment
Вы попросили отредактировать свой код в ответ Клайва. Если это не будет одобрено, вы можете в качестве альтернативы отредактировать его в нижней части своего вопроса.   -  person Rup    schedule 31.01.2012
comment
Я думаю, что это тоже не совсем подходящее место для решения; наиболее SO-подобная вещь, которую можно здесь сделать, - это, вероятно, добавить свой конкретный код решения в качестве другого ответа (или описать его в комментарии к ответу Клайва). Хотя это кажется странным, вполне нормально ответить на свой вопрос о SO.   -  person Yoni Samlan    schedule 31.01.2012
comment
Если ему нравятся правки, он может их принять, если нет, то ответ и так прекрасен. :)   -  person Kris Wenzel    schedule 02.02.2012


Ответы (1)


Если вы посмотрите на /sites/all/modules/services/resources/user_resource.inc, на функцию _user_resource_create() вы увидите, что пользователь добавлен путем имитации отправки _ 3_ form. Для этой формы требуется параметр массива roles с по крайней мере одной ролью пользователя, которую вы в настоящее время не передаете.

Я не на 100% отношусь к ошибке status, но попробуйте изменить тип c# на int, как это есть в базе данных Drupal.

person Clive    schedule 21.01.2012