调用Web服务方法时为什么500?

时间:2015-11-06 19:55:44

标签: c# ajax web-services

我得到了500,[ArgumentException:未知的Web方法GetFacilityInfo。  参数名称:methodName]。看起来一切都井然有序;谷歌搜索问题的大部分结果是人们对是否使用静态感到困惑,但正如你所看到的,我正确地不使用静态方法,因为它是一个真正的网络服务。

var data contents:

clientId:" DevClient" facilityId:" 2"

网络服务:

namespace Sentry.WebMethods
{
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    [ScriptService]
    public class FacilityInfoService : WebService
    {
        [WebMethod(EnableSession = true)]
        [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
        public FacilityInfo GetFacilityInfo(string facilityId, string clientId)
        {
            try
            {
                var helper = ObjectFactory.GetInstance<EditCheckDataHelper>();
                var facility = helper.GetFacility(Convert.ToInt16(facilityId), clientId);
                return facility;
            }
            catch (Exception ex)
            {
                ErrorSignal.FromCurrentContext().Raise(ex);
                return new FacilityInfo();
            }
        }
    }
}

Javascript电话:

var xhr = $.ajax({
        type: "post",
        data: JSON.stringify(data),
        url: postUrl,
        dataType: "text",
        contentType: "application/json; charset=utf-8",
        async: false,
        success: function (respScript) {
            if (xhr.status == 200) {
                return JSON.parse(respScript).d;
            }
        },
        error: function (xhrObj) {
            if (xhrObj.status > 0) {
                alert("[" + xhrObj.status + "] Failed to retrieve facility info.");
            }
        },
        complete: function () {
        }
    });

1 个答案:

答案 0 :(得分:0)

问题在于,因为通过Visual Studio添加Web服务.asmx文件是非常惊人的方法(请赐教 - Premium 2012),我复制粘贴了另一个.asmx文件,它是指向标记中的错误类。 (捂脸)

相关问题