【问题标题】:Master Data Services Silverlight error主数据服务 Silverlight 错误
【发布时间】:2013-01-04 21:26:38
【问题描述】:

我已经在我们的开发服务器上安装了 MDS,我可以浏览(并执行各种功能,例如添加用户或创建、添加实体)。但是我无法进入“资源管理器”。在这里我得到两个 Silverlight 错误。
[HttpWebRequest_WebException_RemoteServer]
参数:未找到
调试资源字符串不可用
等等……

服务器是 Win 2008 R2 Standard
IIS 为 6.1(内部版本 7601 SP1)
我们正在运行 SQL Server 2012
客户端正在运行 SL5 和 SL5 SDK
IIS 设置为运行 SSL 和 Win Auth(根据跟踪日志,这是有效的,它正在获取主体)。其他一切都已禁用
IIS 可以连接到数据库(通过管理部分中的数据库管理器)
所有主流浏览器(IE、chrome、FF)都会发生这种情况。

我已打开 MDS 的跟踪日志(设置为详细),但没有看到任何错误/警告
我也运行了 SQL 分析器,但没有看到任何让我相信的东西,并且错误发生在 sql 端。 事件查看器中也没有任何与 MDS/Silverlight 相关的内容。 我不确定是否/如何远程调试到 MDS 网站(它是预安装和预编译的)

来自 web.config 的几个 sn-ps

<bindings>
  <wsHttpBinding>
    <binding name="mdsWsHttpBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />
      <!--Non-SSL implementations.-->
      <security mode="Transport">
        <message clientCredentialType="UserName" />
        <transport clientCredentialType="Windows">
            <extendedProtectionPolicy policyEnforcement="WhenSupported" />
        </transport>
      </security>
    </binding>
  </wsHttpBinding>
  <basicHttpBinding>
    <binding name="mdsBasicHttpBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647" />
      <!-- Non-SSL implementations.-->
      <security mode="TransportCredentialOnly">
        <message clientCredentialType="UserName" />
        <transport clientCredentialType="Windows">
            <extendedProtectionPolicy policyEnforcement="WhenSupported" />
        </transport>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

.. <snip> ...
<system.diagnostics>
<sources>
  <!-- Adjust the switch value to control the types of messages that should be logged. 
       Use the a switchValue of Verbose to generate a full log. Please be aware that 
       the trace file can get quite large very quickly -->
  <source name="MDS" switchType="System.Diagnostics.SourceSwitch" switchValue="All">
    <listeners>
                <add name="LogFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Program Files\Microsoft SQL Server\110\Master Data Services\WebApplication\trace.log" traceOutputOptions="DateTime" />
        <add name="EtwListener" type="System.Diagnostics.Eventing.EventProviderTraceListener, System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" initializeData="{F2A341B8-CA5F-49ad-B00C-A82D3FCF948B}" /> 
        <remove name="Default" /> 

    </listeners>
  </source>
</sources>
<trace autoflush="true" />

如果有人认为跟踪日志会有所帮助(或其他任何东西),我可以发布它们(但它们很大)。

我的问题是: 如何调试,或以某种方式获得更好的错误消息,为我指明正确的方向?

编辑: 要添加,我在跟踪日志中找到了这个:
MDS 错误:0:服务启动成功,程序集版本:11.0.0.0,文件版本:11.0.3000.0 ((SQL11_PCU_Main).121019-1325 ) 日期时间=2013-01-07T15:09:14.1660484Z
MDS 错误:0:ApiContractVersion:5102 日期时间=2013-01-07T15:09:14.2753968Z

编辑 2:
我已经能够找出另一个错误(经过多次配置更改)。
在 Microsoft.MasterDataServices.Core.BusinessLogic.Member.GetEntityMembers(EntityMembers 成员,RequestContext 上下文,OperationResult 结果) SQL 错误调试信息:编号:229,消息:对对象“MemberGetCriteria”、数据库“MDS”、模式“mdm”的执行权限被拒绝。服务器:SERVERNAME,过程:,行:0

: 由于某种原因,“MemberGetCriteria”出现了一些权限错误。

【问题讨论】:

    标签: silverlight-5.0 master-data-services


    【解决方案1】:

    关于在 IIS 中运行应用程序池的服务帐户的权限的两件事:

    1) 根据运行应用程序池的 IIS 要求,它必须具有“批量登录”权限;

    2) 如果您在 MDS 网站上需要客户端证书,MDS 未设置为使用从 IIS Web 应用程序到 MDS\Service\service.svc\bhh 调用的证书,因此您需要使客户端调用该服务时,证书是可选的。

    web.config:我看到您设置尝试为两个 WCF 端点设置“传输”/HTTPS 安全性,但留下标签而不是标签。您必须确保您没有混合和匹配 SSL 和非 SSL 部分,并且您只注释掉了 Windows / NTLM(或 Kerberos,如果在后端设置)安全模式部分,并取消注释“SSL 实现”部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多