次の方法で共有


マップにスクリプトファンクトイドを追加する方法

Scripting Functoid を使用すると、実行時にカスタム スクリプトまたはコードを使用して、使用できない関数を実行できます。 たとえば、 Scripting Functoid を使用して独自のカスタム スクリプトを記述することで、実行時に COM オブジェクトを呼び出すことができます。

スクリプティング Functoid の概念については、スクリプティング Functoidを参照してください。

スクリプト ファンクトイドをマップに追加して構成するには

  1. Visual Studio ツールボックスがアクティブな状態で、[ 高度な Functoid ] タブをクリックして、そのカテゴリの Functoid を選択します。

    選択したカテゴリの高度な Functoid の一覧が表示されます。

  2. スクリプティング Functoid を表すスクリプティング Functoid イメージをドラッグします。ツールボックスからグリッド ページ上の適切な場所に移動します。

    Functoid は、表示されているグリッド ページに配置されます。 Functoid を別のグリッド ページに配置する場合は、その他のグリッド ページを最初に表示する必要があります。

    複数の Functoid を一緒に使用してマップを構築する場合は、相対的な左から右への配置を考慮する必要があります。 ファンクトイドは左から右に実行されます。 Functoid の出力は、より右側にある別の Functoid にのみ入力できます。

  3. 表示されたグリッド ページに追加した スクリプト Functoid を選択します。

  4. Visual Studio の [プロパティ] ウィンドウで、Script プロパティに関連付けられている省略記号 (...) ボタンをクリックします。

    または、Functoid を右クリックし、コンテキスト メニューの [ Functoid スクリプトの構成 ] をクリックします。 [ スクリプト Functoid の構成 ] ダイアログ ボックスが表示され、[ スクリプト Functoid 構成 ] タブが選択されています。

  5. [ スクリプト Functoid の構成 ] ダイアログ ボックスの [ スクリプトの種類の選択 ] ドロップダウン リストで、スクリプトの種類を選択します。

    スクリプトの種類の選択に応じて、残りのダイアログ ボックス フィールドのさまざまなサブセットが有効および無効になります。

  6. スクリプトの種類として [外部アセンブリ ] を選択した場合は、[ スクリプト アセンブリ]、[ スクリプト クラス]、および [スクリプト メソッド ] ドロップダウン リストを使用して、この スクリプト Functoid に関連付けるアセンブリ、クラス、およびメソッドをそれぞれ選択します。

    Warnung

    外部アセンブリ内のコードはスレッド セーフである必要があります。 ストレス条件下では、マップの複数のインスタンスが同時に実行されている可能性があります。

    アセンブリを選択すると、[ スクリプト クラス ] ドロップダウン リストにそのアセンブリ内のクラスが設定されます。 同様に、クラスを選択すると、[ スクリプト メソッド ] ドロップダウン リストにそのクラス内のメソッドが設定されます。

    [ インライン スクリプト ] テキスト ボックスは、スクリプトの種類として [外部アセンブリ ] を選択すると無効になります。

    スクリプトの種類として 外部アセンブリ 以外のものを選択した場合 (インラインの選択肢の 1 つ)、[ インライン スクリプト ] テキスト ボックスを使用して、選択した言語でスクリプトを入力します。

    スクリプト Functoid のインライン言語の選択肢には、C# .NET、JScript.NET、Visual Basic .NET、XSLT、XSLT 呼び出しテンプレートがあります。

    C# を使用したスクリプトでは、"using" ステートメントを使用できません。 スクリプトで特別な .Net クラスを使用する必要がある場合は、対応するアセンブリとその依存アセンブリを BizTalk プロジェクトの "参照" に追加し、スクリプト コードで完全修飾名を使用する必要があります。 カルチャに依存する小文字の変換を実行するスクリプトを記述する場合は、対応するコード フラグメントを次のように記述する必要があります。 同様の制限は、サポートされているすべてのスクリプト言語に適用されます。

    string x = y.ToLower(System.Globalization.CultureInfo.CurrentCulture);  
    

    スクリプトで、任意のアセンブリのクラスを使用するには、対応するアセンブリとその依存アセンブリを、マップを含む BizTalk プロジェクトの "参照" に追加してください。

    [ インライン スクリプト ] テキスト ボックスでカスタム スクリプトを直接作成することも、別の場所にスクリプトを作成して[ インライン スクリプト ] テキスト ボックスに貼り付けることもできます。

    スクリプトの種類としてインラインの選択肢 (外部アセンブリ以外のもの) のいずれかを選択すると、[スクリプト アセンブリ]、[スクリプト クラス]、および [スクリプト メソッド] ドロップダウン リストが無効になります。

    Von Bedeutung

    複数の関数を含むスクリプトを作成すると、最初の関数は main 関数またはプライマリ関数として扱われます。他の関数は、プライマリ関数の実行時に呼び出された場合にのみ呼び出されます。

    OK をクリックします。

  7. スクリプトまたは外部アセンブリ内の関連するメソッドに入力パラメーターが必要な場合は、基本的な Functoid の場合と同様に、適切な数と種類の入力リンクを作成します。

  8. ほとんどの状況では、 Scripting Functoid は、基本的な Functoid と同じように、変換先スキーマのフィールドを設定するために使用される出力値、または別の Functoid への入力として使用される出力値を生成します。

こちらもご覧ください

高度な Functoid をマップに追加する