1

Microsoft Dynamics CRM 2011 にアクセスする Windows サービスがあります。

CRM 2011 に接続しようとすると、Windows サービスで例外が発生します。

サーバーから直接サービスを実行すると問題なく動作します。

接続しようとしている CRM 組織の管理者権限を持っています。

これは、CRM に接続するコードです。

  private OrganizationServiceProxy BuildCRMServiceProxy()
     {
         var credentials = new ClientCredentials();            
         var orgConfigInfo = ServiceConfigurationFactory.CreateConfiguration<IOrganizationService>(OrganizationUri);
         return new OrganizationServiceProxy(orgConfigInfo, credentials);
     }

例外は次のとおりです。

ERROR 2013-08-21 09:27:47,958 [8] System.InvalidOperationException: メタデータに解決できない参照が含まれています: 'http:// * **/XRMServices/2011/OrganizationData.svc?wsdl'. ---> System.Net.WebException: リモート サーバーがエラーを返しました: (401) Unauthorized. System.Net.HttpWebRequest.GetResponse() で System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper) で System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) で --- 内部例外スタックの終わりトレース --- System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) で System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState resolveCallState) で System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever retriever) Microsoft で.Xrm.Sdk.1..ctor(Uri serviceUri, Boolean checkForSecondary) at Microsoft.Xrm.Sdk.Client.ServiceConfigurationMicrosoft.Xrm.Sdk.Client.OrganizationServiceConfiguration.AdjustServiceEndpoint(Uri serviceUri) の 1..ctor(Uri serviceUri) Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(Uri serviceUri) の Microsoft.Xrm.Sdk.Client. ServiceConfigurationFactory.CreateConfiguration[TService](Uri serviceUri) at * .DynamicsUpdater.ServiceAgent.DynamicsAgent.BuildCRMServiceProxy() at ** .DynamicsUpdater.ServiceAgent.DynamicsAgent.InsertEntity(String entityName, Boolean isRelationship, Dictionary 2 attributes, Guid& generatedId) at ******.DynamicsUpdater.BusinessLogic.CRMProcessorFactory.<>c__DisplayClass3d1.b__3c(Update update, ICRMRepository CRM, IUpdatesRepository updatesRepo) at ** .DynamicsUpdater.BusinessLogic .Controllers.ApprovedUpdateController.<>c_ DisplayClass3.b _1(Boolean wasProcessedYet, Func 4 processor) at System.Linq.Enumerable.Aggregate[TSource,TAccumulate](IEnumerable1 source, TAccumulate seed, Func 3 func) at ******.DynamicsUpdater.BusinessLogic.Controllers.ApprovedUpdateController.Process(Update update) at ******.DynamicsUpdater.BusinessLogic.Controllers.UpdateControllerBase.Execute(Func1 retrieveUpdateForProcessingCallback) at ** .DynamicsUpdater.Updater.<>c_ DisplayClassb.b _a ()


Windows Server 2008 から実行すると正常に動作しますが、デスクトップの Windows 7 64 ビットから実行するとうまくいきません。

4

2 に答える 2

2

サーバーに有効な資格情報を提供していないようです。デスクトップはサーバーと同じネットワークにありますか? その場合は、NetworkCredential を試してください。

credentials.Windows.ClientCredential = new System.Net.NetworkCredential("username", "password", "domain");
于 2013-08-21T12:06:17.600 に答える
0

私は同じ問題を抱えていました(エラー:メタデータには解決できない参照が含まれています)

しかし、このエラーは、Visual Studio 2010 の C# の Dynamic CRM ノードで「Dynamic CRM 2013 の新しい Visual Studio ソリューション テンプレート」という新しいプロジェクトを作成すると発生します。

最初にドメイン名とポート番号を要求し、有効なドメイン名を指定しないと、そのようなエラーが発生しますドメイン名は検出サービス wsdl から取得され、ポートを指定する必要はありません。使用可能なものを自動的にフェッチします。資格情報を挿入すると、クラウドにデプロイできるプロジェクトを作成できるようになりました。

于 2014-12-29T17:21:39.437 に答える