【Dynamics CRM】【Azure】Dynamics CRMとAzure Service Busの連携 その3
前回の記事の続きです。
なお、いろいろとごちゃごちゃしている間に、Office365勉強会でLTをやってみたりしてました。
ただ、基本的にこのBlogで書いていることのまとめです。。。
必要なもの
以下のNugetから必要なライブラリを取得しました。
基本的にはServiceBusのライブラリとDynamics CRM のSDK関係ライブラリがあれば大丈夫です。
ソースコード
現時点の私の理解では、ServiceBusへのlistenerアプローチは2つ。
・WCFベースでの実装
・QueueClientクラスを用いた実装
今回自分が実装したアプローチは後者のQueueClientクラスを利用したもので、
逐次メッセージを取得しにいくメソッドを用いて、一定間隔でループさせています。
取得されるメッセージボディはPluginのContextクラスを内包したRemoteExecutionContextクラスです。
これにより、Pluginから送られてきたInputParameterやImageなどが取得でき、いろいろうんちゃかできます。
備考
DynamicsCRM のSDKには、上記とは違うWCF形式のサンプルコードが含まれています。
含まれていて、動くっぽいんですが。
動かない……。(#^ω^)(ビルドはできて、コネクションは確立している気がするんですがね。)
いろいろと試しているんですが、なぜかキュー本体が消えてしまうというよくわからん問題にぶち当たっております。
(一回Fiddlerで見てみようかな……。)
でも、WCFでいきますと、Contractでデリゲートしておいたクラスが毎回呼ばれてきそうな雰囲気がありますので、ちゃんと動かしたいんですよね……。
正直上のプログラムもサンプルコードレベルにしても、なかなか無理矢理感があふれるので、今後もうちょっとわかったら、アップデートしていきたいところです。