Solved

Getting A Datatable name error web services

Posted on 2009-07-25
2
4,897 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
  • 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

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Suggested Solutions

IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

777 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