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() {
}
});
除了500以外,服務器還應該返回一些文本。使用網絡嗅探器來查看它。 – Chet
嘗試在POSTMAN中重新創建呼叫,然後您可以輕輕晃動一下 –
沒有什麼更有用的被返回。它只是一個ASP.NET錯誤頁面的HTML,除了上面的帖子中提到的例外。 – 333Matt