Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2012, 10:49
th3r0rn
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Como regresar un datatable desde un WebService?

Hola,
Basicamente lo que quiero hacer es que un webservice me regrese un datatable para que con este yo pueda llenar un grid, es decir con el datatable retornado por el Servicio web.
Les muestro mi codigo del WS:
Código ASP:
Ver original
  1. [WebService(Namespace = "http://tempuri.org/")]
  2. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  3.  
  4.  
  5. // [System.Web.Script.Services.ScriptService]
  6. public class WebService : System.Web.Services.WebService {
  7.     string conexion = ConfigurationManager.ConnectionStrings["conexion"].ToString();
  8.     public WebService () {
  9.  
  10.         //Eliminar la marca de comentario de la línea siguiente si utiliza los componentes diseñados
  11.         //InitializeComponent();
  12.     }
  13.  
  14.     [WebMethod]
  15.     public DataTable FillGrid() {
  16.         string query = "SELECT * FROM EMPLEADOS";
  17.         DataTable dt = new DataTable();
  18.         SqlDataAdapter da = new SqlDataAdapter(query, conexion);
  19.  
  20.         da.Fill(dt);
  21.         return dt;
  22.        
  23.    
  24.  
  25.  
  26.     }
  27.    
  28. }
Cuando lo ejecuto y lo invoco me retorna:
Código:
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.Write1_DataTable(Object o)
   at Microsoft.Xml.Serialization.GeneratedAssembly.DataTableSerializer.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(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
   at System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
   at System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
   at System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
   at System.Web.Services.Protocols.WebServiceHandler.Invoke()
Pueden ayudarme pleasee!!!? :(