1

複数の入力がある 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);
4

1 に答える 1

1

これを試しましたか:

mapInstance.Transform.Transform(
   multi-part input message filepath, out put file path);

わたしにはできる。クラスmapInstanceのオブジェクトとして宣言しました(として宣言していません)。MapTestableMapBase

于 2009-06-18T09:48:18.453 に答える