3

これは簡単な作業ですが、1 日以上無駄にしています。それがあなたのところに来る理由です。問題から抜け出すのを手伝ってください。

私の要件は非常に単純です。ASP.NET プロジェクトがあります。そして、私はオンラインCRMにエンティティを持っています

エンティティ名: 「従業員」、フィールドは「名前、年齢、性別」

asp.net プロジェクトに CRM DLL を追加できません。したがって、REST サービスを使用する必要があります。

  1. サービス参照https://myoffice.crm5.dynamics.com/xrmservices/2011/organization.svc?wsdlを追加しました

  2. これは私が使用しているコードです

    OrganizationServiceClient orgClient = new OrganizationServiceClient(); orgClient.ClientCredentials.Windows.ClientCredential = new System.Net.NetworkCredential("admin@something.com", "mypassword");

    Entity myContact = new Entity(); myContact.LogicalName = "Employee"; //Is it right? i must provide it here right.

    ConsoleApplication1.ServiceReference2.AttributeCollection myAttColl = new ConsoleApplication1.ServiceReference2.AttributeCollection();

myAttColl.Add(new KeyValuePair<string, object>("Name","Emp1")); myAttColl.Add(new KeyValuePair<string, object>("Age", "26")); myAttColl.Add(new KeyValuePair<string, object>("Gender", "Male"));

myContact.Attributes = myAttColl;

try
{
    orgClient.Create(myContact);
}
catch (Exception ex)
{
}

orgClient.Create(myContact) を実行すると、「メッセージのセキュリティを検証中にエラーが発生しました」というエラーが表示されます。

今まで何をしても。これは私の要件であり、REST サービスを使用して Online CRM にカスタム エンティティへのエントリを非常に簡単に追加することです。http://xyz.comという別のドメインで Web アプリケーションを実行します。ここから、オンライン CRM にエントリを追加する必要があります。

何か助けはありますか?

4

2 に答える 2

1

REST サービスは外部アプリケーションには公開されません。内部アプリケーション専用です。オンプレミスの展開ではこれを回避できるかもしれませんが、CRM Online では私が認識している回避策はありません。CRM アセンブリを追加し、これを C# で行うと、はるかに効果的です。また、REST サービスを使用すると、CRUD 操作に厳しく制限され、状態の割り当てや変更などを実行できなくなります。私の意見では、SOAP サービスの方が優れていますが、それでも外部の Web アプリケーションから呼び出すことはできません。

このリンクで次の内容のメモを参照してください - JavaScript を使用したデータ アクセス

ノート

認証は Microsoft Dynamics CRM によって提供されるため、外部アプリケーションがこれらの Web サービスを使用することはできません。

于 2012-11-01T23:29:00.380 に答える
1

奇妙に思えるかもしれませんが、その理由は、サーバーとクライアントの時計が確実に同期していないためです。

あなたがしなければならないのは、それをチェックすることだけです:

  1. クライアントの時計はサーバーの時計と同期しています。
  2. クライアントとサーバーの両方がデイタイムセービング設定で調整されます

よろしく、

ケビン

ソース:ここここ

于 2012-08-02T09:36:56.950 に答える