Я только начал играть со стартовым набором REST и наткнулся на дорожный блок, пытаясь создать собственный сервис Я пытаюсь создать службу управления учетными записями и не могу заставить службу сериализовать мои объекты, выдавая следующую ошибку:
Невозможно десериализовать тело XML с корневым именем 'CreateAccount' и корневым пространством имен '' (для операции 'CreateAccount' и контракта ('Service', 'http://tempuri.org/')) с использованием DataContractSerializer. Убедитесь, что тип соответствует XML добавлен в коллекцию известных типов сервиса.
Вот фактический код службы (основанный на методе DoWork, поставляемом с проектом):
[WebHelp(Comment = "Creates a Membership account")]
[WebInvoke(UriTemplate = "CreateAccount", RequestFormat = WebMessageFormat.Xml)]
[OperationContract]
public ServiceResponse CreateAccount(CreateAccount request)
{
try
{
// do stuff
return new ServiceResponse()
{
Status = "SUCCESS",
ErrorMessage = ""
};
}
catch (Exception ex)
{
return new ServiceResponse()
{
Status = "ERROR",
ErrorMessage = ex.Message + "\n\n" + ex.StackTrace
};
}
}
И, наконец, что не менее важно, вот объект, который вызывает все проблемы:
public class CreateAccount
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public bool SignUpForNewsletter { get; set; }
public string Password { get; set; }
}
Я что-то упустил глупо?
Заранее спасибо!