Я сталкиваюсь с проблемой при попытке вызвать сервис Teamcity REST через расширение TFS.
Я также настроил TeamCity: rest.cors.origins = "http://my.tfsserver" rest.cors.optionsRequest.allowUnauthorized = true
В расширении TFS я вызываю следующий URL: http: //my.teamcity.server:80/app/rest/latest/projects с использованием «XMLHttpRequest»
const pair :string=this.settings.username+":"+this.settings.password;
const encodedCreds:string = btoa(pair);
const basicAuthValue:string = "Basic "+ encodedCreds;
const apiurl:string="/app/rest/latest/projects";
const completeUrl:string = this.settings.urlTeamCity+apiurl;
const xhr = new XMLHttpRequest();
xhr.open("GET",completeUrl,true);
xhr.setRequestHeader('Authorization', basicAuthValue);
xhr.setRequestHeader("Access-Control-Allow-Origin" ,"http://my.tfsserver");
xhr.onload=function(){
console.log(xhr.responseText);
}
xhr.onerror=function(){
console.log(xhr.response);
}
xhr.send();
Я получаю следующую ошибку в консоли:
Не удалось загрузить http://my.teamcity.server:80/app/rest/latest/projects: Ответ на предпечатную проверку недействителен (перенаправление)
В журнале отдыха TeamCity у меня есть следующие две строки:
[2018-10-01 14: 12: 49,891] DEBUG [p-nio-80-exec-9] - er.rest.APIController / rest-api - получил запрос CORS из источника 'null', но этот источник не разрешен. Добавьте источник во внутреннее свойство rest.cors.origins (через запятую), чтобы доверять приложениям, размещенным в домене.Текущие допустимые источники: Включенные источники CORS: [http://my.tfsserver]
[2018-10-01 14: 12: 49,892] DEBUG [p-nio-80-exec-9] - er.rest.APIController / rest-api - обработка запроса REST API завершена за 1 мс, код состояния: 302, запрос: OPTIONS '/ app / rest / latest / projects', от клиента 10.69.152.71: 59256, без проверки подлинности
Исходя из последней строки, я изменяю свой код на:
...
xhr.open("GET",completeUrl,true,this.settings.username,this.settings.password)
xhr.withCredentials=true;
...
, но по-прежнему получаю одинаковую ошибку в обеих Chrome-консолии журнал команд команды города.
в консоли Chrome, на вкладке сети, я вижу, что заголовок «origin» пуст, но я не понимаю, почему?
![enter image description here](https://i.stack.imgur.com/PUkre.png)
Спасибо adavance за любую помощь:)