Silverlight访问安全的Webservice

时间:2009-03-09 15:42:19

标签: asp.net silverlight service

我正在尝试使用服务引用将Silverlight应用程序连接到Java Web服务。

我得出结论,Silverlight在服务连接方面与WPF或ASP.NET的工作方式不同。

我搜索过网络,我发现的所有身份验证都是关于用户通过改变服务来保护应用程序以包含web方法的文章。

我必须使用现有服务。我一直在ASP.NET和WPF中使用NetworkCredetials;什么是Silverlight中的等价物?

很抱歉,我应该提到它是JBoss服务器上的一个轴服务。

更新: 此链接似乎表明这应该是可能的http://blogs.msdn.com/coding4fun/archive/2008/02/24/7883342.aspx。他们使用NetworkCredentials连接到Twitter API。

2 个答案:

答案 0 :(得分:0)

这绝对应该是可能的。无论写入服务的语言是什么 - 只有输出的格式(SOAP,JSON等)。

您是否涉及任何SSL?

尝试完全打开您的ClientAccessPolicy(没有限制),然后尝试将其复制到不同的根目录(服务器的根目录,应用程序的根目录,SL应用程序的根目录等),看看您是否获得了更好的结果。

我认为完全开放的政策文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*"/>
      </allow-from>
      <grant-to>
        <resource path="/" include-subpaths="true"/>
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>

答案 1 :(得分:0)

确保绑定包含ServiceReferences.ClientConfig中的标记 安全模式应为=为Web服务的Https访问传输

<basicHttpBinding>
                <binding name="FactorSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
                    <security mode="Transport" />
                </binding>

</basicHttpBinding>