次の方法で共有


分離受信アダプター用のインターフェイス

分離受信アダプターは、BizTalk Server プロセス以外のプロセス空間でホストされます。 メッセージング エンジンと連携するために、分離受信アダプターは、エンジンが分離受信アダプターを構成および制御できるように、起動時に分離受信アダプター自体を登録します。 アダプターは、トランスポート プロキシを作成し、インターフェイス IBTTransportProxy のクエリを実行し、 IBTTransportProxy.RegisterIsolatedReceiver を呼び出して 、その IBTTransportConfig コールバック インターフェイスをメッセージング エンジンに登録します。 この同期呼び出しは、アダプターが最初のメッセージをBizTalk Serverに送信する前に発生します。 これによって、メッセージ エンジンは、アダプターへのコールバックを行い、どのエンドポイントがアクティブであるか、および受信メッセージの待ち受けの対象となる必要があるかをアダプターに示すことができます。 分離アダプターは次のインターフェイスを実装する必要があります。

  • IBTTransport

  • IBTTransportConfig

  • IBaseComponent

  • IPersistPropertyBag

    アダプターの登録では、構成および有効化された受信場所をアダプターが渡す必要があります。 アダプターのホスト プロセスは、BizTalk 分離ホスト ユーザー グループのメンバーである必要があります。 また、クラス ID が正しく、実行するように構成されているホスト インスタンスに対応したコンピューターで実行中であることを確認するための照会が、アダプターに対して行われます。

    アダプターがトランスポート プロキシに正常に登録されると、メッセージング エンジンは、それぞれ IPersistPropertyBag インターフェイスの Load メソッドと IBTTransportConfig インターフェイスの AddReceiveEndpoint メソッドを呼び出すことによって、構成情報とその他の受信場所をアダプターに渡します。

    分離受信アダプターがメッセージの処理を終了し、終了する場合は、IBTTransportProxy インターフェイスの TerminateIsolatedReceiver メソッドを呼び出す必要があります。

    分離受信アダプターを作成するときのオブジェクト間の対話処理を次の図に示します。

    分離受信アダプターの作成に関連するオブジェクトの相互作用を示す画像。
    分離受信アダプターの初期化のワークフロー

Note

アダプターは、BizTalk Serverに対して現在実行中の要求を追跡することをお勧めします。 アダプターは、作業数が 0 に達するまで Terminate メソッドをブロックする必要があります。 受信側では、この作業には、BizTalk Serverに発行されていない未処理の要求が含まれます。 通常、 Terminate が呼び出された後、応答メッセージは受信アダプターに配信されないことに注意してください。 一般に、アダプターが Terminate メソッドを呼び出した後、メッセージング エンジンは、送信請求と応答のペアの応答メッセージを除き、新しいメッセージを発行する要求を受け入れません。

Note

1 つのプロセスは 1 つのアダプターしかホストできませんが、分離アダプターの複数のインスタンスをホストできます。

参照

アダプター変数
受信アダプターの開発
受信アダプターのインスタンス化と初期化
インプロセス受信アダプター用のインターフェイス
バッチ処理に対応した受信アダプター用のインターフェイス
バッチ処理に対応したトランザクション受信アダプター用のインターフェイス
要求 - 応答の同期受信アダプター用のインターフェイス