2012-04-26 4 views
0

アプリケーションがc#によって書かれたコードを書いていますapplication.crmがsslで実行されています。C#Crm 2011呼び出し元がサービスによって認証されていません

 ClientCredentials credential = new ClientCredentials(); 
     credential.Windows.ClientCredential = new 
     System.Net.NetworkCredential("username", "password", "domain"); 
     Uri organizationUri = new Uri("https://serverAdress/Orgname/XRMServices/2011/Organization.svc"); 
     Uri homeRealUri = null; 
     serviceProxy = new OrganizationServiceProx 
(organizationUri, homeRealUri, credential, null); 
           serviceProxy.EnableProxyTypes(); 

また、私はtihsバージョンを試しました。

> ClientCredentials Credentials = new ClientCredentials(); 
>  Credentials.Windows.ClientCredential.UserName ="<username>"; 
>  Credentials.Windows.ClientCredential.Password ="<password>"; 

例外はスローされませんが、serviceProxyは認証されません。修正するにはどうすればよいですか。 提案があります。

+0

ユーザーにアプリケーションレベルの権限がありますか? –

+2

私はそれがここに明白であるかもしれませんが、正しいアクセス権を持つ実際にCRMユーザー(たとえば同じドメイン上の)としてCRMサービスに接続しようとしているユーザーですか?上記のコードは、CRMサービスにどのように接続するかという点では大丈夫です。 –

+0

@ PhilipRich、サーバーにインストールされているcrmで実行されているアプリケーションは、管理者権限を持っています。 – engcmreng

答えて

0

古い質問ですが、ここに私の提案があります。

は、ここに提供されているサンプルコードを見てみましょう:http://msdn.microsoft.com/en-us/library/hh675404.aspx

は単に

private String _discoveryServiceAddress = "https://dev.crm.dynamics.com/XRMServices/2011/Discovery.svc"; 
    private String _organizationUniqueName = "OrganizationUniqueName"; 
    // Provide your user name and password. 
    private String _userName = "[email protected]"; 
    private String _password = "password"; 

    // Provide domain name for the On-Premises org. 
    private String _domain = "mydomain"; 

ニーズに合わせて、コンソールアプリはプリントアウトすべき次のエントリを変更します。ログオンユーザー「ファーストネーム」です"苗字"。

using (OrganizationServiceProxy organizationProxy = 
       GetProxy<IOrganizationService, OrganizationServiceProxy>(orgServiceManagement, credentials)) 

をし、それを使用します。そして、あなたはからOrganizationServiceProxyを取ることができます。

関連する問題