MethodCall (BizTalk Server サンプル)
MethodCall サンプルは、BizTalk Server オーケストレーションから .NET ベースのメソッドを呼び出す方法を示すものです。
このサンプルの処理
このサンプルでは、次の一連の手順を実行して .NET ベースのメソッドと連携します。
BizTalk Server オーケストレーションで、In フォルダから XML 入力ファイルを取得します。 このファイルには、数値演算ライブラリで実行する加算または減算に関する情報が含まれています。
オーケストレーションで、インクルードされた数値演算ライブラリを呼び出し、XML 入力ファイルに指定されている加算または減算を実行します。
適切な数学ライブラリ メソッド ( Add または Subtract) は、要求された計算を実行し、結果を XML ドキュメントとしてパッケージ化します。
オーケストレーションで、生成された .xml ファイルを Out フォルダに格納します。
このサンプルのデザイン方法とその理由
このサンプルは、次の機能を実行します。
昇格させたプロパティをオーケストレーション内で使用します。 InputSchema.xsd の 3 つの要素は、識別フィールドとして昇格されています。 オーケストレーションでは、入力メッセージの受信時にこれら 3 つのフィールドの値を取得し、オーケストレーション内で対応する宣言済みの変数に割り当てます。
"決定" 図形を使用して、オーケストレーションで "if-then-else" ロジックを表現します。 オーケストレーションは、識別フィールドの値を内部変数に割り当てた後、追加または減算を実行するかどうかをチェックする決定図形を入力します。 演算を実行する必要がない場合、オーケストレーションは終了します。
オーケストレーションから外部アセンブリを呼び出します。 加算を実行する場合、オーケストレーションでは外部 C# アセンブリを呼び出し、2 つのパラメータを渡して加算を実行します。 減算も同様の手順です。
Note
アセンブリをオーケストレーションから呼び出すには、アセンブリをグローバル アセンブリ キャッシュにインストールしておく必要があります。グローバル アセンブリ キャッシュにアセンブリがない場合、実行時に XLANG エラーが返されます。
[メッセージの割り当て] 図形を使用して、出力メッセージを作成します。
次のコードを式図形に配置することにより、オーケストレーションをデバッグします。
System.Diagnostics.Debug.WriteLine(iResult);
次のコードを使用して、結果をイベント ログに書き込むこともできます。
System.Diagnostics.EventLog.WriteEntry("MethodCall SDK Sample Debug", System.String.Format("Result = {0}", iResult);
このサンプルの場所
<サンプル パス>\Orchestrations\MethodCall\
次の表は、このサンプルのファイルとその目的を示しています。
ファイル | 説明 |
---|---|
Cleanup.bat | アセンブリの展開を解除し、グローバル アセンブリ キャッシュからアセンブリを削除するために使用されます。 送信ポートと受信ポートが削除されます。 必要に応じて、Microsoft インターネット インフォメーション サービス (IIS) の仮想ディレクトリが削除されます。 |
Input.xml | サンプル入力ファイルです。 |
Setup.bat | このサンプルをビルドおよび初期化するために使用されます。 |
\MathLibrary フォルダには、次のファイルが含まれます。 AssemblyInfo.cs、MathHelper.cs、MathLibrary.csproj |
このサンプルで使用する数値演算ライブラリのプロジェクト ファイルとソース ファイルです。 |
\MethodCallSample フォルダには、次のファイルが含まれます。 InputSchema.xsd、OutputSchema.xsd |
それぞれ、入力 .xml ファイルと出力 .xml ファイルのスキーマです。 |
\MethodCallSample フォルダには、次のファイルが含まれます。 MethodCallSample.btproj、MethodCallSample.sln |
このサンプルのプロジェクト ファイルとソリューション ファイルです。 |
\MethodCallSample フォルダには、次のファイルが含まれます。 MethodCallSampleBinding.xml |
ポート バインドなどの自動セットアップに使用されます。 |
\MethodCallSample フォルダには、次のファイルが含まれます。 MethodCallService.odx |
数値演算ライブラリを呼び出し、要求された計算を実行する BizTalk Server オーケストレーションです。 |
このサンプルのビルドと初期化
MethodCall サンプルをビルドおよび初期化するには
コマンド ウィンドウで、次のフォルダーに移動します。
<サンプル パス>\Orchestrations\MethodCall
ファイル Setup.bat を実行すると、次のアクションが実行されます。
MethodCall フォルダに、このサンプルの入力 (In) フォルダと出力 (Out) フォルダを作成します。
このサンプル用に Visual Studio プロジェクトをコンパイルし、生成されたアセンブリを展開します。
BizTalk Server 受信場所と、オーケストレーションの送信および受信ポートを作成しバインドします。
受信場所を有効にし、送信ポートを開始します。 オーケストレーションを参加させ、開始します。
Note
このサンプルを実行する前に、ビルドと初期化のプロセス中に BizTalk Server でエラーが報告されていないことを確認する必要があります。
このサンプルの実行
MethodCall サンプルを実行するには
ファイル Input.xml を In フォルダにコピーします。
.xml ファイルが Out フォルダに作成されることを確認します。 このファイルには、要求された加算または減算の計算結果が含まれています。 このファイルの名前の形式は <MessageID>.xml で <、MessageID> はメッセージを一意に識別するために生成される GUID です。
入力ファイルを変更し、別の加算または減算を要求することもできます。
このサンプルのアンインストール
MethodCall サンプルをアンインストールするには
Visual Studio コマンド プロンプトで、ディレクトリ (cd) を Samples Path>\Orchestrations\MethodCall\ に<変更します。
Cleanup.bat を実行します。