Контракт на обслуживание: < /p>
Код: Выделить всё
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "LoginUser",
BodyStyle = WebMessageBodyStyle.Wrapped)]
LoginResponse LoginUser(LoginRequest request);
< /code>
TypeScript Запрос: < /p>
class LoginRequest implements ILoginRequest {
UserName: string;
Password: string;
ReturnListOfQueues: boolean;
}
Код: Выделить всё
loginUser(UserName: string,
Password: string,
DomainName: string,
ReturnListOfQueues: boolean): ng.IPromise {
var base_url = 'http://[IP]/AuthenticationService.svc/rest/LoginUser';
var request = new LoginRequest();
request.UserName = UserName;
request.Password = Password;
request.ReturnListOfQueues = ReturnListOfQueues;
var req = {
method: 'POST',
url: base_url,
headers: { 'Content-Type': undefined },
data: JSON.stringify({ request: request }),
contentType: "application/json",
dataType: "json",
}
return this.$http(req)
.then((response: ng.IHttpPromiseCallbackArg): ILoginResponse=> {
return response.data;
});
}
, если я редактирую/reissue Sucdeper in fiddl и я получаю ожидаемые данные ответа.
Когда я изменяю запрос, чтобы использовать приложение/json, данные больше не отображаются в Fiddler
Код: Выделить всё
var req = {
method: 'POST',
url: base_url,
headers: { 'Content-Type': "application/json" },
data: JSON.stringify({ request: request }),
contentType: "application/json",
dataType: "json",
}
< /code>
Я также получаю сообщения Cors в Firefox при настройке контента-типа < /p>
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [removed]. (Reason: CORS preflight channel did not succeed).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at [removed]. (Reason: CORS request failed).
< /code>
web.config inted для обслуживания < /p>
Я следил за этим сообщением. Он отправляет запрос параметров, который возвращает 200 ОК, но запрос сообщения никогда не выполняется.
Подробнее здесь: https://stackoverflow.com/questions/307 ... type-issue