複数の入力がある BizTalk マップの単体テストを機能させる方法を説明できる人はいますか?
Michael Stephensonブログの例を喜んで使用してマップをテストしましたが、最初の複数入力マップを試したところ、失敗しました :-(
VS2005 の「テスト マップ」を使用して、最初に 2 つの入力メッセージを含む入力インスタンスを生成し、次にそのファイルの種類をテスト入力として使用しました ...
<ns0:Root xmlns:ns0="http://schemas.microsoft.com/BizTalk/2003/aggschema">
<InputMessagePart_0>
...
</InputMessagePart_0>
<InputMessagePart_1>
...
</InputMessagePart_1>
</ns0:Root>
これらのテスト メッセージは、VS テスト マップを使用すると期待どおりの出力を生成しますが、単体テストを実行すると、セクションが欠落しています。
私が考えることができる唯一のことは、マップにいくつかの Functoid があることです...スクリプティング、テーブルエクストラクタ、およびテーブルループ...
単体テストは StreamingTransform.ScalableTransform を呼び出します ...
// This is the BizTalk Server 2006 way of calling
mapInstance.StreamingTransform.Transform(inputStream,
mapInstance.TransformArgs, outputStream, resolver);
// This is the R2 way of calling
XmlReader xmlRdr = new XmlTextReader(inputStream);
mapInstance.StreamingTransform.ScalableTransform(xmlRdr,
mapInstance.TransformArgs, outputStream,
resolver, whitespaceCorrect);
Transform.Transform を使用する代替アプローチも機能しません...
XPathDocument doc = new XPathDocument(inputStream);
mapInstance.Transform.Transform(doc, mapInstance.TransformArgs, outputStream);