Я пытался включить CORS между веб-приложением ASP.NET (сервера) и пользовательским интерфейсом ASP.NET SOAP (серверb).Запрос от веб-приложения к SOAP происходит, но служба SOAP отвечает с ошибкой (в Google Chrome):
Доступ к XMLHttpRequest по адресу http://serverb/service.svc/' от источника 'http://servera'был заблокирован политикой CORS: Ответ на запрос предварительной проверки не прошел проверку контроля доступа: у него нет статуса HTTP ok.
У меня есть доступ как к клиентскому веб-приложению, так и к службе SOAP.
Мой пользовательский интерфейс службы SOAP Web.config имеет следующий раздел для включения CORS:
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://servera" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<add name="Access-Control-Allow-Headers" value="origin, content-type, accept, x-requested-with" />
<add name="Access-Control-Max-Age" value="3600" />
</customHeaders>
</httpProtocol>
Запрос выполняется с помощью вызова AJAX на странице cshtml:
$.ajax({
url: "http://serverb/service.svc",
type: "POST",
dataType: "text",
data: soapRequest,
contentType: "application/xml",
success: function(data) {
console.log(data);
//response(data);
return "";
},
error: function (request, status, error)
{
console.log("Error: " + error + " Status: " + status);
}
});
Я попытался добавить код для обработки запроса, добавивФайл Global.asax, однако, код Global.asax.cs не запускается.
И веб-клиент, и пользовательский интерфейс SOAP работают на IIS в Windows 8.
Любая помощь приветствуется.