Если вы используете Drupal 7, вы должны использовать Сервисы 3, у которых нет метода node.get
(или node.save
, как это происходит).Они были заменены на node.retrieve
и node.create
& node.update
соответственно.
Вы можете просмотреть все доступные методы в файле resources/node_resource.inc
в папке модуля «Службы».
ОБНОВЛЕНИЕ
Внутренне узел отправлениспользуя drupal_execute
, которая является функцией, используемой для отправки формы.Поскольку тело - это поле в Drupal, ожидается, что это будет многомерный массив в этом формате (версия PHP):
$data["body"][$language][0]["value"]
$language
будет либо конкретным языком для узла, либо und
для неопределенного языка (если вы не имеете дело с многоязычным сайтом und
, как правило, лучше).Вам нужно создать массив, подобный тому, что есть в вашем коде на C #, и Drupal должен его сохранить.
ДРУГОЕ ОБНОВЛЕНИЕ
Пример клиента XML-RPC для служб использует для этого тип HashMap
, поэтому я думаю, что вымог бы использовать Dictionary
(хотя тот, который кажется излишне сложным):
var innerValue = new Dictionary<string, string>();
innerValue.Add("value", txtBody.Text);
var language = new Dictionary<int, Dictionary<string, string>>();
language.Add(0, innerValue);
var body = new Dictionary<string, Dictionary<int, Dictionary<string, string>>>();
body.Add("und", language);
node["body"] = body;
Прошло несколько лет с тех пор, как я кодировал в C #, поэтому простите за любые ошибки там.Кроме того, я почти уверен, что это может быть объявлено более эффективно, но я забыл, что большая часть языка, если честно!