Regresar un DataSet desde un web service
-
jueves, 13 de agosto de 2009 17:31Hola todos quetal tanto tiempo
bueno pues tengo un problema
Tengo un web service que debe regresar un DataSet pero me marca esta excepcion. en el mensaje del ws que devuelve el data set.
Ya intente ponerlo dentro de una clase serializada y sigue marcando lo mismo alguien puede ayudarme
using
System;
using
System.Data;
[
Serializable]
public class SerializeDataTable
{
public DataTable dt;
public SerializeDataTable()
{
}
public SerializeDataTable(DataTable dt)
{
this.dt = dt;
}
public DataTable Dt
{
get { return dt; }
}
}
System.Web.Services.Protocols.SoapException:
Server was unable to process request. --->
System.InvalidOperationException:
There was an error generating the XML document. --->
System.InvalidOperationException:Cannot serialize the DataTable.
DataTable name is not set.
at System.Data.DataTable.WriteXmlSchema(XmlWriter writer, Boolean writeHierarchy)
at System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer)
at System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write13_consultaDataTableResponse(Object[] p)
at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer5.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
--- End of inner exception stack trace ---
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
at System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle)
at System.Web.Services.Protocols.SoapServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
at System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
at System.Web.Services.Protocols.WebServiceHandler.Invoke()
--- End of inner exception stack trace ---
oxtibu-Mexico
Todas las respuestas
-
jueves, 13 de agosto de 2009 17:40DataTable name is not set.Simplemente dale un nombre al datatable
public SerializeDataTable(DataTable dt)
{
dt.TableName="nombreDT";
this.dt = dt;
}
Sashka
Sashka (Ursula Bazo) -
jueves, 13 de agosto de 2009 18:36si mal no recuerdo la definicion de la clase DataSet tiene el atributo serializable, por lo cual no debes tener problema, prueba dandole nombre como te dice sashka
-
jueves, 13 de agosto de 2009 18:37perdon, implementa la interfaz ISerializable
-
viernes, 21 de agosto de 2009 16:50
No DataTable no implenta la interface ISerializable ese fue el probelma lo resolvi enviando un DataSet que si lo implementa.
oxtibu-Mexico- Marcado como respuesta oxtibu viernes, 21 de agosto de 2009 16:50

