调用WCF服务时出现序列化错误

时间:2011-06-16 15:00:46

标签: c# wcf serialization datacontractserializer

当我调用该服务时,我收到此错误:

  

命名空间tempuri.org中的元素ListadoClientesResult不能将子内容反序列化为对象。请使用XmlNode []反序列化这种XML模式

服务代码是:

public List<Empleado> ListarEmpleados()
{
    List<Empleado> returnList = new List<Empleado>();
    var lista = from u in DB.tabEmpleado
                select new
                {
                    u.idEmpleado,
                    u.idUsuario,
                    u.Nombre,
                    u.Apellidos,
                    u.Telefono1
                };                           
    foreach (var e in lista)
    {
        Empleado empleado = new Empleado();
        empleado.idEmpleado = e.idEmpleado;
        empleado.idUsuario = e.idUsuario;
        empleado.nombre = e.Nombre;
        empleado.apellidos = e.Apellidos;
        empleado.telefono1 = e.Telefono1;
        returnList.Add(empleado);                
    }
    return returnList;
}

类定义是这样的:

    [DataContract]
public class Empleado { 

private int _idEmpleado; 
[DataMember(IsRequired = false)] 
public int idEmpleado 
{ 
get { return _idEmpleado; } 
set { _idEmpleado = value; } 
}

private int _idUsuario;
[DataMember(IsRequired = false)]
public int idUsuario
{
    get { return _idUsuario; }
    set { _idUsuario = value; }
}

private string _nombre;
[DataMember(IsRequired = false)]
public string nombre
{
    get { return _nombre; }
    set { _nombre = value; }
}

private string _apellidos;
[DataMember(IsRequired = false)]
public string apellidos
{
    get { return _apellidos; }
    set { _apellidos = value; }
}

private string _telefono1;
[DataMember(IsRequired = false)]
public string telefono1
{
    get { return _telefono1; }
    set { _telefono1 = value; }
}
}

这是ServiceContract

   namespace MetodosNegocio
{
    [ServiceContract]
    public interface IService
    {
        [OperationContract]
        List<Empleado> ListadoClientes();
    }
}

我该如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

在您更新服务之前,服务中所做的任何更改都不会应用,因此我对其进行了更新,并且它正在运行。