我正在尝试访问托管在服务器上的 WCF 服务。该服务正在使用 SSL 连接。我在 IIS 中分配了一个自签名证书。该服务是一项宁静的服务。我尝试了两种不同的场景:
第一种情况:我将网站托管到同一服务器(访问服务的客户端应用程序)在这种情况下,服务是可访问的并且能够从服务中获得响应。
第二种情况:我将网站托管到本地主机,本地机器。从这里开始,当我尝试向托管在不同 Web 服务器上的服务方法发出请求时,它无法访问。显示错误“方法不允许”这是代码:
function testHttps()
{
jsonText3=JSON.stringify({"Name":"Avinash"});
url="https://ServerIP/WcfSecureService/Service.svc/GetName";
var xhr = createCORSRequest('POST', url);
if (!xhr) {
alert('CORS not supported');
}
xhr.onload = function() {
alert(xhr.responseText);
};
xhr.onerror = function() {
alert('Woops, there was an error making the request.');
};
xhr.setRequestHeader('Content-Type', 'application/json') ;
xhr.send(jsonText3);
}
function createCORSRequest(method, url)
{
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr)
{
xhr.open(method, url, true);
}
else if (typeof XDomainRequest != "undefined")
{
xhr = new XDomainRequest();
xhr.open(method, url);
} else
{
xhr = null;
}
return xhr;
}
如何使用 HTTPS 使 CORS 调用成功?我不想在客户端站点上安装任何证书。如何从 Javascript 验证服务?
请建议...提前感谢您的帮助。
——阿维纳什