2009-08-12 8 views
0

クラスを使用して既存のFunctoidsできちんと達成できないカスタムロジックを提供するbiztalk(2006 R2)マップがあります。Biztalkマップ内のスクリプトの例外

例外が、このクラスのメソッドのいずれかの例外の詳細からスローされ、残念ながら(少なくとも限り私が見ることができるように)失われ、変換形状は、単にI「は'Function 'ScriptNS-:DoFoo()' has failed'

を示す例外をスローMapでScripting Functoidを使用することは災害のレシピですが、別の議論であるという結論に至りました。私の質問は、例外の詳細が親オーケストレーションを渡すことを許可するメカニズムですか?

+0

私はこの質問のコンテキストを覚えていないので、例外の詳細を取得する方法を解決したのか、特定の例外を修正したのか分かりません。しかし、他の人に役立つ場合は、これを追加するとわかりました。ビズトークでは、オーケストレーションコンポーネントからスローされた例外の多くが、実際の例外メッセージのInnerExceptionとしてラップされています。 – TygerKrash

答えて

1

'System.Diagnostics.Trace'クラスを使用して、その進捗に関連するメソッドの中でstuffを出力してみます。まず、メソッドの期待値と異なる可能性がある入力パラメータを出力します。

簡体例:明確な命名標準を使用して

System.Diagnostics.Trace.WriteLine("HelperClass XX - Method YY - This was passed from the map : " + inputParamOne); 

は、マシン上で自分のものよりも多くを実行している場合は特に、それが簡単に無料のツールのDebugView内でフィルタリングすることができます。私はしばしば後で非常に価値があると証明されるので、このトレースを残します。リスナーが接続されていない場合のオーバーヘッドは、通常無視できます。

あなたはマップが展開され、次の手順を実行してデバッグすることができのBizTalk開発マシン上で実行している場合:

  • は方法
  • 選択にブレークポイントを入れて「デバッグ - プロセスにアタッチ」
  • (BTSNTSvc.exe 32ビットの場合) 対応するポートまたは オーケストレーションがマップを実行している場合、HostInstanceプロセスにアタッチします。
関連する問題