2016-04-16 43 views
0

CRMに接続し、XYZエンティティのフィールドを更新するコンソールアプリケーションを作成しました。CRM 2015 +メタデータに解決できない参照が含まれています

CRMに接続するためのコードがある -

ClientCredentials credential = new ClientCredentials(); 
credential.UserName.UserName =user; 
credential.UserName.Password = password; 

OrganizationServiceProxy proxy = new OrganizationServiceProxy(new Uri(crmEnvironments.ElementAt(currentEnvironment).URL), null, credential, null); 

当初はうまくCRMに接続しているが、いつかそれが下記のエラーがスローされます後 -

を「メタデータがあることができなかった参照が含まれています解決されました "。

内部例外:Googleでいくつかの研究を行った後

「リモートサーバーに接続できません」、私は

が接続CRMに次のコード行を挿入したものを以下でした -

ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain,SslPolicyErrors sslPolicyErrors) { return true; }; 

のAppConfigファイルに次の挿入 -

<system.net> 
<defaultProxy useDefaultCredentials="true"> 
</defaultProxy> 
</system.net> 

ただし、エラーが依然として存在し、一部のレコードを処理した後に接続が失敗し、前述のエラーがスローされます。

助けてください。

答えて

0

どのような展開がありますか? Active DirectoryまたはIFDを使用してOnPremiseですか?

実際に上記の方法を使用してバイパスしている自己署名証明書を使用してSSL経由でCRMをホストしている場合は、ServerCertificateValidationCallbackが必要なだけであるため、

レコードが処理されて停止した場合、ServerCertificateValidationCallbackはそれとは関係ありません。たとえば、タイムアウトを超えたためにCRMが接続を切断する可能性があります。

CRMのweb.configでOrganisationServiceタイムアウトを増やすことができます。

可能であれば、あなたは(それがネットワークを保存します、Nは、サービスへの呼び出しを一つだけ大きなものを作っていないようExecuteMultipleRequestにあなたの個々の呼び出しをラップすることです、詳細here

もう一つの良いオプションを参照してください。帯域幅と接続の問題)。

+0

ありがとうございます。私はCRM 2015 Onlineに取り組んでいます。もしあなたが気にしなければ、ExecuteMultipleRequestが使われている例を私に教えてください。 –

0

コンソールアプリケーションに接続するもう​​1つの方法は、Microsoft.Xrm.Tooling.ConnectorライブラリにあるCrmServiceClientです。

NuGetを使用すると、Microsoft.CrmSdk.XrmTooling.CoreAssemblyパッケージを手に入れることができます。あなたはレースに出ます。ここで

は、カップル、他の有用なリンクです:

CRM 2016とダイナミクス365オンライン:ここ

Build Windows client applications using the XRM tools

Sample: Quick start for XRM Tooling API

さまざまな接続文字列の例です

<add name="dev26" connectionString="Url=https://dev26.crm.dynamics.com; [email protected]; Password=Pass; AuthType=Office365" /> 

統合セキュリティとオンプレミス:CRM 2016用

<add name="prod" connectionString="Url=https://contoso.litware.com; [email protected]; Password=password; AuthType=IFD;"/> 

オンプレミスIFD:CRM 2016の前に

<add name="prod" connectionString="Url=http://myserver/AdventureWorksCycle; Domain=mydomain; Username=administrator; Password=password; AuthType=AD;"/> 

オンプレミスIFD:オンプレミス資格情報を持つ

<add name="prod" connectionString="Url=http://myserver/AdventureWorksCycle;"/> 

(v8.0 +)

<add name="prod" connectionString="ServiceUri=https://contoso.litware.com/contoso; Domain=contoso; Username=contoso\administrator; Password=password; AuthType=IFD; LoginPrompt=Never;" /> 
0

私はこの質問が尋ねられてから数年経っていることを知っています。 CRM 365オンラインに接続しようとしています。

接続しようとするとnullオブジェクトエラーが発生しました。私のapp.configファイルにプロキシ認証情報が設定されていなかったため、根本原因が判明しました。

関連する問題