0

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

しかし、エラーが発生します:

例外が発生してプログラムを終了しています: メッセージのセキュリティを確認中にエラーが発生しました。詳細については、トレースを有効にし、トレース ファイルを表示してください。CrmSvcUtil.exe エラー: 0: 例外のため終了コード 2 でプログラムを終了します: System.ServiceModel.FaultException: メッセージのセキュリティを確認中にエラーが発生しました。

4

4 に答える 4

1

別の問題を調査していたときに、Microsoft フォーラムで役に立つかもしれない投稿を見つけました。この質問を思い出したので、これには肯定的な解決策があったので、別の回答を投稿すると思いました。

見積もり:

私は以前にこれを扱ったことがあります。サーバーとクライアント マシンの両方で、時刻と日付の設定 (タイムゾーンを含む) が正しく設定されていることを確認します。 2 台のマシンの同期が 1 ~ 2 分以上ずれていると、この問題が発生するようです。

私のクライアント マシンでは、サーバー クロックを設定して正しく接続した後、何らかの理由で 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= crm開​​発

于 2014-02-18T18:09:12.197 に答える
0

これは的外れだと思いますが、最近パスワードを変更しましたか?

このようなコマンド文字列では、多くの人が .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%」は、環境変数の実際の使用です。
「Password:」は、.bat ファイルの実行時に表示されるプロンプト文字列です。
「CLS」は画面をクリアします。
「pwd=.」環境変数を「.」に設定します。そのため、パスワードは環境に残されません。
「rem」で始まる行は単なるコメントなので無視してかまいません。

ソリューションの「完璧ではない」部分は、入力時にパスワードが表示されることです. ただし、プロンプトの直後に画面をクリアすると、すぐに画面からクリアされます。入力時にパスワードが表示されないようにする方法は他にもありますが、非常に複雑すぎるか、追加のビットをダウンロードする必要があると思います. .bat ファイルを使用するアイデアは、迅速かつ簡単に更新できるため、メンテナンスが少なくて済むということです。

SET /P は私の場合、ファイルを更新する必要があるときはいつでも誰も私の肩越しに見ていないのでうまく機能し、.bat ファイルが書き込まれると実質的にメンテナンスはありません。

于 2014-02-12T17:05:51.740 に答える
0

JIC 誰かが同じエラーを受け取ります。

私は接続を確立し、CRM オンラインからコンテキストを生成することができました。ユニークな違いは URL にあります。私は次のものを持っています。

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

crm5 ではなくcrmと表示されますが、これは組織によって異なります。正しいものを取得するには、組織を開き、[設定] -> [カスタマイズ] -> [開発者リソース] -> [組織データ サービス] を選択します。

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

アカウントには必要な権限が必要です。私のアカウントにはシステム管理者の役割があります。

于 2013-05-16T16:48:11.617 に答える
0

エラーを完全に理解するには、トレースを有効にして構成ファイルを使用する必要があります。構成ファイルの例を次に示します。

<?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

于 2013-02-19T12:01:57.467 に答える