ITPub博客

首页 > Linux操作系统 > Linux操作系统 > webservice返回DataTable报错无法序列化

webservice返回DataTable报错无法序列化

原创 Linux操作系统 作者:taogchan 时间:2013-07-10 13:58:39 0 删除 编辑

今天写了一个webservice接口,返回类型是DataTable ,运行的时候报以下错误:

System.InvalidOperationException: 生成 XML 文档时出错。 --->

System.InvalidOperationException: 无法序列化 DataTable。未设置 DataTable 名称。
在 System.Data.DataTable.WriteXmlSchema(XmlWriter writer, Boolean writeHierarchy)
在 System.Data.DataTable.System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer)
在 System.Xml.Serialization.XmlSerializationWriter.WriteSerializable(IXmlSerializable serializable, String name, String ns, Boolean isNullable, Boolean wrapped)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriter1.Write2_DataTable(Object o)
在 Microsoft.Xml.Serialization.GeneratedAssembly.DataTableSerializer.Serialize(Object objectToSerialize, XmlSerializationWriter writer)
在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Xml.Serialization.XmlSerializer.Serialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id)
在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o, XmlSerializerNamespaces namespaces)
在 System.Xml.Serialization.XmlSerializer.Serialize(TextWriter textWriter, Object o)
在 System.Web.Services.Protocols.XmlReturnWriter.Write(HttpResponse response, Stream outputStream, Object returnValue)
在 System.Web.Services.Protocols.HttpServerProtocol.WriteReturns(Object[] returnValues, Stream outputStream)
在 System.Web.Services.Protocols.WebServiceHandler.WriteReturns(Object[] returnValues)
在 System.Web.Services.Protocols.WebServiceHandler.Invoke()

 

解决方法:

给定义的Datatable命名。代码:

DataTable table= new DataTable();

table.TableName = "tmp";

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22392018/viewspace-765966/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-08-28

  • 博文量
    200
  • 访问量
    1188279