无法在WCF REST服务中反序列化XML

Joe*_*ley 1 c# xml rest wcf xml-serialization

我刚刚开始玩REST入门套件,而且我试图建立自己的服务.我正在尝试创建一个帐户管理服务,我无法获得序列化我的对象的服务,抛出以下错误:

无法使用根名称'CreateAccount'和根命名空间''(对于操作'CreateAccount'和契约('Service',' http://tempuri.org/ '))使用DataContractSerializer 反序列化XML主体.确保将与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
        };
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,但并非最不重要的是,这是导致所有麻烦的对象:

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; }
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么傻事吗?

提前致谢!

Joe*_*ley 8

事实证明,我[DataContract]在业务对象的属性中缺少额外的值.

应该 [DataContract(Namespace = "")]