How to debug jQuery ajax POST to .NET webservice

Posted by Nick on Stack Overflow See other posts from Stack Overflow or by Nick
Published on 2010-06-16T17:01:52Z Indexed on 2010/06/16 17:22 UTC
Read the original article Hit count: 504

Filed under:
|
|

Hey all.

I have a web service that I have published locally. I wrote an HTML page to test the web service. The webservice is expecting a string that will be XML. When I debug the web service from within VS everything works great. I can use FireBug and see that my web service is indeed being hit by they AJAX call. After deploying the web service locally to IIS it does not appear to be working.

I need to know the best way to trouble shoot this problem. My AJAX js looks like this:

function postSummaryXml(data) {
    $.ajax({
        type: 'POST',
        url: 'http://localhost/collection/services/datacollector.asmx/SaveSummaryDisplayData',
        data: { xml: data },       
        error: function(result) {
            alert(result);
        },
        success: function(result) {
            alert(result);

        } 
            }); 

The web method looks like so:

[WebMethod]
    public string SaveSummaryDisplayData(string xml)
    {

        XmlDocument xmlDocument = new XmlDocument();
        xmlDocument.LoadXml(xml);
        XmlParser parser = new XmlParser(xmlDocument);

        IModel repository = new Repository();

       if(repository.AddRecord("TestData",parser.TestValues))
       {
           return "true";
       }
        return "false";

    }
}

I added the return string to the web method in an attempt to ensure that the web-service is really hit from the ajax. The problem is this:

In FF the 'Success' function is always called yet the result is always 'NULL'. And the web method does not appear to have worked (no data saved).

In IE the 'Error' function is called and the response is server error: 500. I think (believe it or not) IE is giving me a more accurate indication that something is wrong but I cannnot determine what the issue is.

Can someone please suggest how I should expose the specific server error message? Thanks for the help!

© Stack Overflow or respective owner

Related posts about c#

Related posts about ASP.NET