Solved

Getting A Datatable name error web services

Posted on 2009-07-25
2
4,938 Views
Last Modified: 2013-12-17
Can someone help me debug this exception, I have set the "name" of the datatable in my web service(shown below) but am still getting this error:

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.Write4_GetNicksDataResponse(Object[] p)
   at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer1.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 ---
[WebMethod(Description="This method is used to returns BigM News. Username and Password MUST be provided.")]
    [SoapHeader("CustomSoapHeader")]
    public DataTable GetNicksData()
    {
         // Test to see if the proper credentials were passed in.
 
        ServiceAuthHeaderValidation.Validate(CustomSoapHeader);
             
        DataTable dt = new DataTable("myData");
       dt=BMHAccess.GetNews();
        return dt;
    }

Open in new window

0
Comment
Question by:npl77
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
2 Comments
 
LVL 15

Expert Comment

by:jinal
ID: 24941972

[WebMethod(Description="This method is used to returns BigM News. Username and Password MUST be provided.")]
    [SoapHeader("CustomSoapHeader")]
    public DataTable GetNicksData()
    {
         // Test to see if the proper credentials were passed in.
 
        ServiceAuthHeaderValidation.Validate(CustomSoapHeader);
             
        DataTable dt = new DataTable("myData");
        dt=BMHAccess.GetNews();
        dt.TableName = "Test";
        return dt;
    }

Open in new window

0
 
LVL 15

Accepted Solution

by:
jinal earned 500 total points
ID: 24941979
It should work now.

[WebMethod(Description="This method is used to returns BigM News. Username and Password MUST be provided.")]
    [SoapHeader("CustomSoapHeader")]
    public DataTable GetNicksData()
    {
         // Test to see if the proper credentials were passed in.
 
        ServiceAuthHeaderValidation.Validate(CustomSoapHeader);
             
        DataTable dt = new DataTable("myData");
        dt=BMHAccess.GetNews();
        dt.TableName = "myData";
        return dt;
    }

Open in new window

1

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question