【问题标题】:Dynamics CRM 2011动态 CRM 2011
【发布时间】:2014-02-19 02:09:12
【问题描述】:

我是 Dynamics CRM 2011 Online 的新手。我正在尝试使用 CrmSvcUtil.exe 生成数据上下文类

这是我的命令:

CrmSvcUtil.exe /out:E:\OrgXrm.cs
/url:https://mdtestuser.api.crm5.dynamics.com/XRMServices/2011/Organization.svc
/username:MDTest@MDTestUser.onmicrosoft.com /password:Password

但它给出了一个错误:

Exiting program with exception: 验证时出错 消息的安全性。启用跟踪并查看跟踪文件 更多信息。 CrmSvcUtil.exe 错误:0:退出程序并退出 代码 2 由于异常:Sy stem.ServiceModel.FaultException: An 验证消息的安全性时出错。

【问题讨论】:

    标签: dynamics-crm-2011 dynamics-crm-online


    【解决方案1】:

    当我在 Microsoft 论坛上看到一篇可能有帮助的帖子时,我正在研究另一个问题。我记得这个问题,所以我想我会发布另一个答案,因为这个答案是肯定的。

    引用:

    我以前处理过这个。验证服务器和客户端计算机上的时间和日期设置(包括时区)是否正确设置。 看来如果两台机器不同步超过一两分钟就会出现这个问题

    在我的客户端计算机上,在设置服务器时钟以使其正确连接后,出于某种原因,我还必须重新启动 Visual Studio。

    http://social.microsoft.com/Forums/en-US/0ad9a5ee-dcce-4146-a1e6-20eafdccff46/crmsvcutil-error-an-error-occurred-when-verifying-security-for-the-message?forum=crmdevelopment

    【讨论】:

      【解决方案2】:

      要完全理解您的错误,您应该使用启用跟踪的配置文件,这是配置文件的示例:

      <?xml version="1.0"?>
      <configuration>
        <appSettings>
          <add key="servicecontextname" value="XrmServiceContext"/>
          <add key="codecustomization" value="Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"/>
          <add key="username" value="domain\user"/>
          <add key="password" value="password"/>
          <add key="out" value="XrmEntitiesReference.cs" />
        </appSettings>
        <system.diagnostics>
          <trace autoflush="false" indentsize="4">
            <listeners>
              <add name="configConsoleListener" type="System.Diagnostics.ConsoleTraceListener">
                <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error" />
              </add>
            </listeners>
          </trace>
        </system.diagnostics>
      </configuration>
      

      从这里查看示例:

      http://www.resultondemand.nl/support/sdk/06abab26-40fc-4b85-9a2a-5e68903ea138.htm

      【讨论】:

        【解决方案3】:

        JIC 有人遇到同样的错误。

        我建立了联系,并且能够从 CRM 在线生成上下文。唯一的区别在于网址,我有下一个:

        https://architecture2.api.crm.dynamics.com/XRMServices/2011/Organization.svc

        你看到这说 crm 而不是 crm5 但这取决于你的组织,以获得正确的: 打开您的组织,然后设置->自定义项->开发者资源->组织数据服务

        我要执行 CrmSvcUtil.exe 的命令行是:

        CrmSvcUtil.exe    
        /url:"https://architecture2.api.crm.dynamics.com/XRMServices/2011/Organization.svc"
        /out:"E:\Context.cs"
        /username:MyUser@architecture2.onmicrosoft.com
        /password:Password
        

        其他帐户应该具有所需的权限,我的帐户具有系统管理员角色。

        【讨论】:

          【解决方案4】:

          我知道这有点远,但你的密码最近改了吗?

          使用这样的命令字符串,很多人使用 .bat 文件来自动执行该过程。

          我不喜欢在 .bat 文件中使用密码,因为:

          1. 它们不安全(很明显,我知道)
          2. 维护。每次更新密码时,您都必须记住更新每个脚本。或者痛苦地排查每一个故障,最后记住密码是嵌入的。

          为了缓解这种情况,我使用带有 /P 参数的 SET 在 .bat 文件执行期间提示输入密码。

          并不完美,但比硬编码密码要好得多。

          这是一个使用您提供的命令字符串的示例:

          rem ----- 开始脚本 -----

          SET /P pwd=密码:

          CrmSvcUtil.exe /out:E:\OrgXrm.cs /url:https://mdtestuser.api.crm5.dynamics.com/XRMServices/2011/Organization.svc /username:MDTest@MDTestUser.onmicrosoft.com /password:%pwd%

          CLS

          SET pwd=.

          rem ----- 结束脚本 -----

          在此示例中,SET /P 告诉命令处理器设置环境变量并提示输入。
          “pwd”是正在设置的环境变量。
          “%pwd%”是环境变量的实际使用。
          “密码:”是.bat文件运行时会显示的提示字符串。
          “CLS”清屏。
          “密码=。”将环境变量设置为“.”所以密码不会留在环境中。
          您可以忽略以“rem”开头的行,因为它们只是备注。

          解决方案的“不完美”部分是您的密码在您键入时可见。但是,通过在提示后立即清除屏幕,它会立即从屏幕上清除。还有其他方法可以防止在您键入时显示密码,但是我认为它们过于复杂或需要下载一些额外的位。使用 .bat 文件的想法是它可以快速轻松地更新,因此维护成本低。

          SET /P 在我的情况下运行良好,因为每当我需要刷新我的文件时,没有人会看着我,而且一旦写入 .bat 文件,几乎就没有维护。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-07-16
            • 1970-01-01
            • 2011-06-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-08
            • 2013-08-05
            相关资源
            最近更新 更多