我有一个Silverlight 5应用程序,从几个Sharepoint列表中获取一些数据。所有这些都正常工作,然后我们设置站点以允许SSL和我尝试更新服务引用来使用https调用webservice。它更新了客户端配置绑定以使用安全模式传输。但是,当它调用服务时,它会产生一个错误:
System.ServiceModel.CommunicationException:试图向URI 'bin/Lists.asmx‘发出请求时出错。这可能是因为尝试以跨域方式访问服务,而没有适当的跨域策略,或者不适合SOAP服务的策略。您可能需要与服务所有者联系,以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP报头。此错误还可能是由于在不使用InternalsVisibleToAttribute属性的情况下在web服务代理中使用内部类型造成的。有关详细信息,请参阅内部异常。-> System.Security.SecurityException -> System.Security.SecurityException:安全错误。
有没有人知道问题是什么,或者如何获得比“安全错误”更多的信息?
发布于 2012-09-18 17:14:33
我经历了很多不同的事情,我不知道到底是什么时候发生的,但现在起作用了。我认为最初的站点/服务出现了一些奇怪的问题,促使我尝试手动配置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 只支持配置选项的片段。是普通的.net WCF客户端所做的。
https://stackoverflow.com/questions/12415885
复制相似问题