【问题标题】:How can I make a HTTPS call using HttpService in flex如何在 flex 中使用 HttpService 进行 HTTPS 调用
【发布时间】:2010-01-13 00:27:32
【问题描述】:
我想使用 HttpService 进行 https 调用。当 url 为 http 时,我的代码运行良好,但是当我可以到 https 的 url 时,会出现以下错误:
[RPC Fault faultString="访问 url 的安全错误" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"]
我应该如何进行 Https 调用??
问候
泽山
【问题讨论】:
标签:
apache-flex
actionscript-3
【解决方案1】:
您的 SWF 是否托管在同一个域中?如果是这样,它是否也通过 HTTPS 提供服务?如果这些问题的答案是否定的,则需要在托管您要调用的服务的服务器的根目录中创建一个 crossdomain.xml 文件。您可以查看 this Adobe article 的相关主题。
例如,这将允许 example.com 上通过 HTTP 提供的 SWF 访问您服务器上的 HTTPS 服务:
crossdomain.xml
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="example.com" secure="false"/>
</cross-domain-policy>
确保可以从您的域的根目录访问 crossdomain.xml 文件(即:http://myserver.com/crossdomain.xml)。
希望对您有所帮助。
【解决方案2】:
确保证书有效或在浏览器中被接受。
提示:在 windows 下,无论您使用哪种浏览器,您都必须接受 Internet Explorer 中的证书。