確認するだけでいいですか
- WCF クライアントは、エンベロープ スキーマに一致するメッセージを送信します
- エンベロープ スキーマを、ペイロード処理オーケストレーション用に内部に含まれる 1 つ以上のペイロード メッセージにデバッチしたいと考えています。
- ? 成功/失敗の応答で WCF クライアントに応答するまで、すべてのペイロード メッセージが処理されるまで待機する必要がありますか (つまり、応答はペイロード メッセージの完了に依存します)。
ポイント 3) が必要ない場合、WCF オーケストレーションは、ペイロードに何が起こるかを心配することなく、「はい」メッセージを WCF クライアントに送り返すことができます。
WCF 受信場所の標準 XMLReceive は、メッセージを Envelope スキーマとして認識している限り、メッセージを自動的にデバッチできるはずです。
<b:schemaInfo is_envelope="yes" xmlns:b="somexmlns"/>
<b:recordInfo body_xpath="xpathtoroot"/>
ただし、ポイント 3 が必要な場合は、WCF 要求応答を使用しているため、ペイロード処理に応じてクライアントが同期応答を返す必要があることがわかります。ペイロード処理の進行状況と結果を WCF orch に関連付ける必要があるため、標準のエンベロープ デバッチを使用してこれを行うのは困難です。代わりに、外側の (エンベロープ) スキーマを非エンベロープとして保持し、 WCF オーチでカスタム受信パイプラインを使用してメッセージを分割し、それぞれをループして、ペイロード処理オーケストレーションを呼び出します。
http://mstecharchitect.blogspot.com/2008/12/debatching-biztalk-xml-messages.html