2015-11-06 54 views
0

我得到一個500,[ArgumentException:未知的Web方法GetFacilityInfo。 參數名稱:methodName]。它看起來像一切都是爲了;大多數搜索問題的結果是人們對是否使用靜態或者不使用感到困惑,但正如您所看到的,我正確地不使用靜態方法,因爲它是一個真正的Web服務。爲什麼在調用Web服務方法時500?

VAR數據內容:

的clientId: 「DevClient」 facilityId: 「2」

Web服務:

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() { 
     } 
    }); 
+0

除了500以外,服務器還應該返回一些文本。使用網絡嗅探器來查看它。 – Chet

+0

嘗試在POSTMAN中重新創建呼叫,然後您可以輕輕晃動一下 –

+0

沒有什麼更有用的被返回。它只是一個ASP.NET錯誤頁面的HTML,除了上面的帖子中提到的例外。 – 333Matt

回答

0

的問題是那個,因爲有一個非常驚人的不明顯的方法來添加這個通過Visual Studio的Web服務.asmx文件(請賜教 - Premium 2012),我複製了另一個.asmx文件,它指向錯誤的類。 (facepalm)

相關問題