パイプラインを展開する方法

ソリューションのビルドおよび展開プロセスの一部として、パイプラインのコンパイルと展開が行われます。 コンパイラは各コンポーネントで Validate メソッドを呼び出し、構成された情報に対するコンパイル エラーをコンポーネントが返せるようにします。 ビルドが終了すると、パイプラインはソリューションの展開時に、残りのソリューションと同じアセンブリに展開されます。

インスタンスごとのパイプラインの構成

インスタンスごとのパイプラインの構成は、送信ポートまたは受信場所のレベルで、展開済みパイプライン内のパイプライン コンポーネントのプロパティを変更する場合に使用されます。 インスタンスごとのパイプラインの構成は、少数のパイプライン コンポーネント プロパティをインスタンスごとに変更する場合に役立ちます。 たとえば、複数の受信場所で数種類のメッセージに対応する必要があり、カスタムの XML 受信パイプラインが 1 つである場合、インスタンスごとのパイプラインの構成を使用すると、パイプラインを展開し、既定の構成をオーバーライドすることができます。また、別のエンベロープやドキュメントの仕様名を指定することもできます。 インスタンスごとのパイプラインの構成に関するメカニズムは BizTalk 管理コンソールでサポートされており、またエクスプローラー オブジェクト モデルを使ったプログラムを介して利用できます。

BizTalk 管理コンソールを使ったインスタンスごとのパイプラインの構成

インスタンスごとのパイプラインの構成は、BizTalk 管理コンソールを使用して実行できます。 これには、カスタム パイプラインの展開後、受信場所または送信ポートを必要な数だけ作成し、 次に [パイプラインの構成] ダイアログ ボックスで、各受信場所または送信ポートに対し既定のプロパティ値をオーバーライドします。 たとえば、別のドキュメント スキーマを指定するには、 EnvelopeDocSpecNames プロパティのスキーマ名を入力します。

警告

この受信場所または送信ポートに指定された構成値は検証されません。 構成が正しくない場合、メッセージは実行時にパイプラインを通過するときに失敗します。

エクスプローラー オブジェクト モデルを使ったインスタンスごとのパイプラインの構成

パイプライン コンポーネントのインスタンスごとの構成を記述する XML ファイルが読み取られると、パイプライン ファイルに設定されたプロパティはオーバーライドされます。

インスタンスごとのパイプラインの構成は、BizTalk エクスプローラー オブジェクト モデルを使用して設定できます。 BizTalk エクスプローラー オブジェクト モデルは、受信パイプライン コンポーネントの構成を設定するための IReceiveLocation インターフェイスと ISendPort インターフェイスの ReceivePipelineData プロパティを提供します。 BizTalk エクスプローラー オブジェクト モデルには、送信パイプライン コンポーネントの構成を設定するための IReceivePort インターフェイスと ISendPort インターフェイスの SendPipelineData メソッドも用意されています。

インスタンスごとのパイプラインの構成は、次の操作をサポートしていません。

  • パイプライン内のステージの再構成

  • ステージの追加または削除

  • ステージ内のコンポーネントの再構成

  • コンポーネントの追加または削除

    サポートされている変更は、パイプライン コンポーネントの構成内の変更のみです。 パイプライン コンポーネントのインスタンスごとの構成は、パイプライン コンポーネントの共通の構成をオーバーライドします。 インスタンスごとのパイプラインの構成でコンポーネントのパラメーターが指定されていない場合、そのパラメーターの共通の構成 (パイプライン デザイナーで構成) が使用されます。

    次に、インスタンスごとの構成データの例を示します。

<?xml version="1.0" encoding="utf-16"?>  
<Root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">  
    <Stages>  
        <Stage CategoryId="9d0e4103-4cce-4536-83fa-4a5040674ad6">  
            <Components>  
                <Component Name=Microsoft Microsoft.BizTalk.Component.MIME_SMIME_Decoder>  
                    <Properties>  
                        <AllowNonMIMEMessage vt=11>true</AllowNonMIMEMessage>  
                    </Properties>  
                </Component>  
            </Components>  
        </Stage>  
        <Stage CategoryId="9d0e4105-4cce-4536-83fa-4a5040674ad6">  
            <Components>  
                <Component Name=Microsoft.BizTalk.Component.XmlDasmComp>  
                    <Properties>  
                        <EnvelopeSpecNames vt=8>MySchemas.EnvelopeSpecNames</EnvelopeSpecNames>  
                        <AllowUnrecognizedMessage vt=11>false</AllowUnrecognizedMessage>  
                    </Properties>  
                </Component>  
            </Components>  
        </Stage>  
        <Stage CategoryId="9d0e410d-4cce-4536-83fa-4a5040674ad6" ExecutionSequence="2">  
            <Components>  
                 <Component Name=Microsoft.BizTalk.Component.XmlValidator >  
                    <Properties>  
                        <DocumentSpecName vt=8>MySchemas.DocspecName</DocumentSpecName>  
                    </Properties>  
                </Component>  
            </Components>  
        </Stage>  
    </Stages>  
</Root>  

参照

カスタム パイプライン コンポーネントの開発