Я пытался вызвать WebService с использованием Angular
. Я уже протестировал WebService и отправил запрос с помощью Postman, и он работал правильно.
Вот код для WebService
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
[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 Temperature : System.Web.Services.WebService
{
[WebMethod]
public double Farenheit(double celsius)
{
return (celsius * 9) / 5 + 32;
}
[WebMethod]
public double Celsius(double fahrenheit)
{
return (fahrenheit - 32) * 5 / 9;
}
}
А это мой угловой код
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
})
};
this.http.post('https://localhost:44389/Temperature.asmx/Celsius', 50, httpOptions)
.subscribe(res => {
console.log('Data: ' + res);
})
Метод Accept типа Int.И я передаю 50
целое число.Так почему я получаю эту ошибку.Я не понимаю, почему
ExceptionType: "System.InvalidOperationException"
Message: "Cannot convert object of type 'System.Int32' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'"
StackTrace: " at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object& convertedObject)
↵ at System.Web.Script.Serial
А вот скриншот реквизита POSTMAN
введите описание изображения здесь