Morning Girl

Web API, Windows, C#, .NET, Dynamics 365/CRM etc..

【Dynamics CRM】【XrmTooling】XrmToolingを使用したDynamics CRMへの接続

出ていたのは知っていたのですが、あまり積極的に使っていなかったSDKのXrmTooling

そもそもOnlineならシンプルにXrm.ClientのCrmConnectionで試す感じで(以下の記事のように)もいいじゃないと思っていたのですがー

kageura.hatenadiary.jp

SDKの8.0(もしくは8.1?)からXrm.Clientが含まれていない!?

なにそれ!?(´゚д゚`)

まあ、なんかXrmToolingだと、SOAPベースだけじゃなく、WEB APIベースのものも、OAuth認証も、

あとWPF用の認証画面も提供されているっぽいし、ここらで使わないわけにはいかないかと思った次第で

キャッチアップを進めてみたいと思います。

XRM ツールを使用して Windows のクライアント アプリケーションを作成する

Nuget

以下のNugetからXrmToolingも含めて、SDKライブラリ周りを一式ダウンロードできます。

www.nuget.org

XrmToolingでの認証

XrmToolingでの認証は基本的にCrmServiceClientクラスで実施します。

ここが一つのポイントでIFD・AD認証だけでなく、oAuthでの認証もサポートされているのが特徴です。

■CrmServiceClient コンストラクターを使用した CRM への接続

https://msdn.microsoft.com/ja-jp/library/dn688177.aspx

(ただ、今回は使い慣れている接続文字列形式のものを使いました。)

CrmServiceClientのメソッド

今までXrmSDKを使ってきた人たちが一番戸惑うであろう、CrmServiceClientのメソッド。

使い慣れた、Create・Update・RetrieveではなくCreateNewRecordやらGetEntityDataByFetchSearchやらとなっています。

この辺りを今後少しおってみたいところ。

■CrmServiceClient のメンバー

https://msdn.microsoft.com/ja-jp/library/microsoft.xrm.tooling.connector.crmserviceclient_members.aspx

FetxhXMLを使ったデータの取得

というわけでサンプルコードです。今回はベーシックにFetchXMLを使用して、とりあえずデータ取得をやってみました。

返り値はDictionaryですが、ValueがXrm.SDK周りだったりします。(OptionSetとか)