Scripting Functoid を使用すると、実行時にカスタム スクリプトまたはコードを使用して、使用できない関数を実行できます。 たとえば、 Scripting Functoid を使用し、独自のカスタム関数を記述することで、実行時に .NET アセンブリを呼び出すことができます。
Scripting Functoid では、次の言語がサポートされています。
C# .NET
JScript .NET
Visual Basic .NET
拡張スタイルシート言語変換 (XSLT)
XSLT 呼び出しテンプレート
現在の Scripting Functoid と以前のバージョンのもう 1 つの大きな違いは、スクリプトを作成して Functoid 自体に格納する必要がなくなったということです。 代わりに、別の .NET アセンブリにスクリプトを作成し、 Script プロパティを使用してアセンブリを参照できます。 スクリプトを別のアセンブリに配置すると、複数のマップで同じスクリプトを使用できます。 さらに、サードパーティ ベンダーから Scripting Functoid アセンブリを購入できる場合があります。
以前のバージョンの BizTalk マッパーで作成された スクリプト Functoid は、現在のバージョンの BizTalk マッパーで使用できます。 ただし、まずファンクトイドを移行する必要があります。 スクリプト Functoid を移行する 方法の詳細については、「 Functoid の移行」を参照してください。
マップに Scripting Functoid を追加する場合は、Functoid で使用されるスクリプトを構成する必要があります。 Scripting Functoid を選択すると、[プロパティ] ウィンドウで Script プロパティが有効になります。 このプロパティの省略記号 (...) ボタンをクリックすると、[ スクリプト Functoid の構成 ] ダイアログ ボックスが開きます。 または、スクリプトファンクトイドをダブルクリックすることもできます。
次の表に、このダイアログ ボックスのフィールドを示します。
[スクリプト Functoid の構成] ダイアログ ボックス フィールド | 説明 |
---|---|
スクリプトの種類の選択 | このフィールドを使用して、このスクリプティング Functoid で使用する スクリプトの種類を 選択します。 値: - 外部アセンブリ。 スクリプトをグローバル アセンブリ キャッシュ (GAC) 内のアセンブリに関連付ける場合は、この値を使用します。 警告: 外部アセンブリ内のコードはスレッド セーフである必要があります。 ストレス条件下では、マップの複数のインスタンスが同時に実行されている可能性があります。 - インライン C# インライン スクリプト バッファー内の C# コードに Scripting Functoid を関連付ける場合は、この値を使用します。 - インライン JScript .NET。 この値は、 Scripting Functoid を インライン スクリプト バッファー内の JScript .NET スクリプトに関連付ける場合に使用します。 - インライン Visual Basic .NET。 この値は、 Scripting Functoid を インライン スクリプト バッファー内の Visual Basic .NET コードに関連付ける場合に使用します。 - インライン XSLT。 この値は、インライン スクリプト バッファー内の XSLT に Scripting Functoid を関連付ける場合に使用します。 - インライン XSLT 呼び出しテンプレート。 スクリプティングファンクトイドをインライン スクリプトバッファー内のXSLT呼び出しテンプレートに関連付ける場合は、この値を使用します。 |
スクリプト アセンブリ |
Scripting ファンクトイドに関連付けるアセンブリを選択します。 この一覧には、[プロジェクト] ウィンドウで参照されているアセンブリのみが表示されます。 また、アセンブリを GAC に登録する必要があることにも注意してください。 このフィールドは、[ スクリプトの種類の選択 ] が [外部アセンブリ] に設定されている場合にのみ使用できます。 |
Script クラス | 選択したアセンブリ内で、このScriptingファンクトイドが使用するクラスを選択してください。 このフィールドは、[ スクリプトの種類の選択 ] が [外部アセンブリ] に設定されている場合にのみ使用できます。 |
Script メソッド | Scripting functoidで使用するメソッドを、選択したクラスの中から選択します。 手記: メソッドで予期される入力パラメーターの数が、[ スクリプト Functoid の構成 ] ダイアログ ボックスで指定された入力パラメーターの数と一致していることを確認します。 |
インライン スクリプト | 使用するインライン スクリプトをこのテキスト ボックスに書き込むか、コピーします。 有効な言語とスクリプトには、C#、JScript .NET、Visual Basic .NET、XSLT、XSLT 呼び出しテンプレートが含まれます。 このフィールドは、[ スクリプトの種類の選択] が [インライン ] 設定のいずれかに設定されている場合にのみ使用できます。 注意: 同じメソッド シグネチャを複数回使用しないでください。 複数のスクリプト Functoid に同じメソッド シグネチャがある場合、BizTalk は最初の実装を選択し、他の実装は無視します。 |
次の図は、C# .Net スクリプトを使用して電話番号を再フォーマットする スクリプト Functoid をマップに表示する方法を示しています。
スクリプト関数マップ