#c# #.net #web-services #rally
#c# #.net #веб-сервисы #ралли
Вопрос:
Итак, я пытаюсь обновить задачу и изменить историю пользователя, к которой она относится. Это то, что я пытаюсь..
var toUpdate = new DynamicJsonObject();
// the new User Story
toUpdate["WorkProduct"] = "/hierarchicalrequirement/4567890123";
// the ObjectID of the Task
long oid = 45678912445;
OperationResult result = _restApi.Update("task", oid, toUpdate);
Но получаю эту ошибку: System.Collections.Generic.List'1[System.String]
Комментарии:
1. Я собрал небольшой пример, чтобы воспроизвести то, что вы делаете, и это сработало просто отлично. У вас есть полная трассировка стека вашей ошибки? Для какой версии Rally REST API. Какую сеть вы используете? (Самая последняя версия 1.04)
2. Эй, Кайл, эта ошибка из result. Ошибки в OperationResult, поэтому не уверен, как получить дополнительную информацию
3. Должно быть, это была какая-то ошибка строки, которую я пропустил. Теперь это работает. спасибо за проверку!
4. @robnardo, Опубликуй, что ты сделал, чтобы исправить это, и прими это как ответ.
5. Это был дефект, который был исправлен в версиях 1.06 библиотеки.
Ответ №1:
Это то, над чем я должен был работать до исправления ошибок, о которых сообщил Кайл Морс..
public string ProxyUpdateTask(Task myTask, string strWorkProduct)
{
var message = @"<span style=""color:green;"">SUCCESS</span>";
const string errPrefix = @"<span style=""color:red;"">ERROR</span>";
var toUpdate = new DynamicJsonObject();
long oid;
Int64.TryParse(myTask.ObjectId, out oid);
toUpdate["WorkProduct"] = String.Format("/hierarchicalrequirement/{0}", myTask.UserStoryId);
try
{
var result = _restApi.Update("task", oid, toUpdate);
if (!result.Success)
message = String.Format(@" {2} updating (ObjectID={0}) failed. {1}", myTask.ObjectId, result.Errors, errPrefix);
}
catch (WebException ex)
{
message = String.Format(" {0} - {1}", errPrefix, ex.Message);
}
catch (Exception ex)
{
message = String.Format(" {0} - {1}", errPrefix, ex.Message);
}
return message;
}