Jam*_*mie 6 javascript wcf soap cross-domain cors
我正在努力让CORS为我们的SOAP Web服务的新版本(在HTTPS下运行并具有用户名/密码认证)工作,这可以通过JS连接.
目前我在本地(不是跨域)正常工作,但很快它使用不同的域我从WCF Traceviewer得到以下内容.(IIS7中400错误请求)
<ExceptionString>System.Xml.XmlException: The body of the message cannot be read because it is empty.</ExceptionString>
Run Code Online (Sandbox Code Playgroud)
它似乎甚至没有到达我的消息检查器运行的部分来添加适当的CORS头.
有没有人经历过这个或者设法让CORS在HTTPS SOAP服务下工作?
我很感激你能给出的任何建议.
干杯,杰米
小智 1
实际上,您可以只实现每个请求的响应自定义标头,如下所示。
Response.AppendHeader("Access-Control-Allow-Origin", "*");
Run Code Online (Sandbox Code Playgroud)
还有更多方法可以做到这一点。你只能选择是。你看wcf上启用跨域访问的文章吗?实现了一个使用来自 wcf 和跨域上的 wcf 服务主机的 wcf 服务的项目。您可以将 jsonp 与 webhttp 绑定一起使用。示例答案在这里;
跨域 jQuery Ajax 请求和 WCF REST 服务
或者你可以像这样实现配置:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)
要了解实施/启用 cors 的最佳方法,请查看enable-cors.org 网站。我可以轻松找到该链接。
http://enable-cors.org/server_wcf.html
至少你可以使用jsonp代替json。它让你自由,但很难处理。
我想知道你会选择什么。