【问题标题】:Call Sharepoint Web Service over SSL with Silverlight使用 Silverlight 通过 SSL 调用 Sharepoint Web 服务
【发布时间】:2012-09-13 22:48:22
【问题描述】:

我有一个 Silverlight 5 应用程序,它从几个 Sharepoint 列表中获取一些数据。一切正常,然后我们将站点设置为允许 SSL,我尝试更新服务引用以使用 https 调用 Web 服务。它更新了客户端配置绑定以使用安全模式传输。但是当它调用服务时会报错:

System.ServiceModel.CommunicationException:尝试向 URI“https://devlpadmin.thelittlegym.com/_vti_bin/Lists.asmx”发出请求时出错。这可能是由于在没有适当的跨域策略或不适合 SOAP 服务的策略的情况下尝试以跨域方式访问服务。您可能需要联系服务的所有者以发布跨域策略文件并确保它允许发送与 SOAP 相关的 HTTP 标头。此错误也可能是由于在 Web 服务代理中使用内部类型而不使用 InternalsVisibleToAttribute 属性造成的。有关更多详细信息,请参阅内部异常。 ---> System.Security.SecurityException ---> System.Security.SecurityException: 安全错误。

有谁知道问题出在哪里或如何获得比“安全错误”更多的信息?

【问题讨论】:

  • 您是否设置了跨域策略?
  • 不,我只是部分熟悉那是什么。但是 Silverlight 应用程序位于 SharePoint 网站的一个页面上,所以我也不知道我会在其中放置什么域。如果这是问题所在,它是否可以在没有 SSL 的情况下工作?
  • 我感觉错误消息是错误的,因为这是我在很多其他情况下读到的内容,如果我将我的 ClientConfig 配置为 security mode="Transport" 但一个 http 地址,我得到同样的错误,但我想我应该得到一些关于在指定“http”的地方期待“https”的信息。
  • 很高兴您解决了这个问题。我删除了我的答案,因为跨域问题显然不是这里的原因。 (旁注:您可能应该将您的回答标记为已接受,以表明问题已解决。)

标签: c# wcf web-services sharepoint-2007 silverlight-5.0


【解决方案1】:

我经历了很多不同的事情组合,我不确定到底发生了什么,但现在它正在发挥作用。我认为最初站点/服务遇到了一些奇怪的问题,促使我尝试手动配置 Silverlight 以传递 NTLM 传输凭据。在这样做时,我可能创建了一个导致错误的无效配置文件。正在运行的配置是:

    <bindings>
        <basicHttpBinding>
            <binding name="ListsSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
              <security mode="Transport" />
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="https://devadmin.mydomain.com/_vti_bin/Lists.asmx"
            binding="basicHttpBinding" bindingConfiguration="ListsSoap"
            contract="SPListsService.ListsSoap" name="ListsSoap" />
    </client>

因此,如果您遇到此错误并且没有进行跨域调用,则怀疑存在某种底层服务错误。如果您不使用 Silverlight,则可以启用跟踪以追踪错误。如果您使用的是 Silverlight,我仍然不知道可以做些什么来缩小范围,但请注意 Silverlight only supports a fragment of the configuration options 是普通 .net WCF 客户端所做的。

【讨论】:

    猜你喜欢
    • 2015-04-25
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多