Я запрашиваю метод wcf post от ionic, но получаю ошибку
{"headers":{"normalizedNames":{},"lazyUpdate":null,"headers":{}},"status":0,"statusText":"Unknown Error","url":null,"ok":false,"name":"HttpErrorResponse","message":"Http failure response for (unknown url): 0 Unknown Error","error":{"isTrusted":true}}
Мой метод публикации WCF:
public Stream GetMonthWiseAttendance(InputMonthwise input)
{
var SerializeObject = new JavaScriptSerializer();
var temp = context.MobAttendMonthWiseStudentAttaindance(input.StudentMainId, input.InstituteId, input.Yearid).ToList();
string jsonClient = SerializeObject.Serialize(temp);
WebOperationContext.Current.OutgoingResponse.ContentType =
"application/json; charset=utf-8";
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With,Accept");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Methods", "GET, PUT, POST");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Max-Age", "1728000");
return new MemoryStream(Encoding.UTF8.GetBytes(jsonClient));
}
Мой ионный код
callPost()
{
let headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
headers.append('Access-Control-Allow-Origin' , '*');
headers.append('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
let data=JSON.stringify({userName:'Rameshwar',InstituteId:1191,Yearid:135,StudentMainId:135 });
this.http.post("myUrl" ,data, { headers: headers } )
.subscribe(res =>
{
alert("success "+JSON.stringify(res));
},
(err) =>
{
alert('ERRROR '+JSON.stringify(err));
});
}
С помощью этого ионного кода я могу вызвать метод post из php, но при вызове метода wcf я получил ошибку. Я также могу вызвать метод Get Wcf с тем же заголовком в ответ
WebOperationContext.Current.OutgoingResponse.ContentType =
"application/json; charset=utf-8";
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With,Accept");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Methods", "GET, PUT, POST");
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Max-Age", "1728000");
return new MemoryStream(Encoding.UTF8.GetBytes(jsonClient));
Я также проверил этот почтовый запрос wcf с клиентом Postman Rest. Я хорошо получаю ответ от остальных клиентов / почтальонов.