How do I fix a “Request format is unrecognized for URL…” error in a web service running in IIS?

后端 未结 3 683
悲哀的现实
悲哀的现实 2020-12-01 13:43

I am get the following error while running web service in IIS:

Server Error in \'/Inbox Sevice\' Application. Request format is unrecognized for U

相关标签:
3条回答
  • 2020-12-01 14:18

    Since HTTP GET and HTTP POST are disabled by default try adding the following to your config file:

    <configuration>
        <system.web>
        <webServices>
            <protocols>
                <add name="HttpGet"/>
                <add name="HttpPost"/>
            </protocols>
        </webServices>
        </system.web>
    </configuration>
    
    0 讨论(0)
  • 2020-12-01 14:27

    I've got the same issue. To solve it add [ScriptService] to your service

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Web;
        using System.Web.Script.Services;
        using System.Web.Services;
    
        namespace DemosAjaxcontroltoolkit
        {
            /// <summary>
            /// Summary description for WebService
            /// </summary>
            [ScriptService] 
            [WebService(Namespace = "http://tempuri.org/")]
            [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
            [System.ComponentModel.ToolboxItem(false)]
            // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
            // [System.Web.Script.Services.ScriptService]
            public class WebService : System.Web.Services.WebService
            {
    
                [System.Web.Script.Services.ScriptMethod()]
                [WebMethod]
    
                public string[] GetWords(string prefixText, int count)
                {
                    List<string> words = new List<string>();
                    words.Add("Apple");
                    words.Add("Appertizer");
                    words.Add("Apple tree");
                    words.Add("Apple Cider");
                    words.Add("Afternoon");
                    words.Add("Morning");
                    words.Add("Breakfeast");
                    words.Add("Lunch");
                    words.Add("Spider");
                    words.Add("Morning");
                    words.Add("Day");
                    words.Add("Travel");
                    words.Add("Night");
                    words.Add("Car");
                    words.Add("Bikes");
                    words.Add("Love");
                    words.Add("Good");
    
                    //return words.Where(w => w.StartsWith(prefixText)).Take(count).ToList();
    
                    //List<string> returnedList = words.Where(w => w.StartsWith(prefixText)).Take(count).ToList();
                    return words.Where(w => w.ToUpper().StartsWith(prefixText.ToUpper())).ToArray();
                }
    
            }
        }
    }
    
    0 讨论(0)
  • 2020-12-01 14:32

    Just out of interest (- in the case of accessing the web-service via AJAX); I've found that if a 'content-type' header is not passed (- even if it's a local/"HttpPostLocalhost" request), then the issue occurs, so I pass the header myself (- e.g. via jQuery's '$.ajax()' method rather than without via jQuery's '$.getJSON()' method), instead of resorting to this:

    https://support.microsoft.com/en-us/kb/819267

    0 讨论(0)
提交回复
热议问题