我有一个silverlight应用程序,它在开发过程中一直使用http与自我托管的WCF服务进行通信。我现在通过https保护服务。我得到一个错误,我不得不回到在项目的开始:clientaccesspolicy.xml没有通过HTTPS请求
试图做出URI“https://localhost:8303/service”的请求时发生错误。这可能是由于尝试以跨域方式访问服务而没有适当的跨域策略或者不适合SOAP服务的策略。您可能需要联系服务的所有者以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP头。使用Web服务代理中的内部类型而不使用InternalsVisibleToAttribute属性也可能导致此错误。有关更多详细信息,请参阅内部例外。
我的clientaccesspolicy.xml文件设置为允许从http:// *和https:// *进行访问。唯一的区别是使用http vs https。在我切换到https之前,我可以看到(通过Fiddler)clientaccesspolicy.xml文件被请求,但现在我不能。我现在看到的是两个电话CONNECT localhost:8303 HTTP/1.0 ...它似乎是击中服务器根目录,但没有请求clientaccess文件。有任何想法吗?
我有两个问题。你给的第一个链接固定其中一个(另一个在我的答案中)。我正在使用dev服务器,因此指向localhost而不是机器名称。我将项目设置更改为发布到IIS并在发布时使用计算机名称。谢谢! – Philip 2010-03-16 17:19:45
是的,我正在使用自签名证书。 – Philip 2010-03-16 17:21:50