1

特定の xsd にアセンブルできないフラット ファイル スキーマ ファイルを受信するために、XLANGMessage 型を使用したオーケストレーションで受信シェイプを使用できると人々が主張している Web 上のいくつかの壊れたスレッドを見つけました。

Microsoft.XLANGS.BaseTypes.XLANGMessage として受信シェイプのメッセージ タイプを設定しようとしましたが、この基本タイプはシリアル化できません。これにより、ビルド エラーが発生します。

整形式の xml メッセージの XmlDocuments と、不正な形式の xml およびアセンブルされていないフラット ファイルの両方をキャプチャできるオブジェクト タイプはありますか?

4

1 に答える 1

0

太字の直接の質問への回答-はい、あなたが求めているタイプはSystem.Xml.XmlDocument.

必要なことは、新しいメッセージを作成し、そのタイプを選択するときに、.NET クラス セクションから上記のタイプを選択することです。

このメッセージを受信シェイプに割り当てると、任意のペイロードを受信できます。たとえば、これを使用して、解析する必要のない BizTalk を介して .pdf ファイルなどの形式を渡すことがよくありました。ただし、名前にかかわらず、ここにあるのは Xml ではなく、Xml として扱うとさまざまな問題が発生することに注意してください。


あなたの質問をもう少し掘り下げるために、ある種のエラー処理オーケストレーションを作成しようとしていますか?

エラー処理コードを使用している場合はXmlDocument、フィルター式が ErrorReport.ErrorType == "FailedMessage" に設定されたタイプのメッセージを受信する受信シェイプを使用できます。これは、メッセージ ボックスに接続された直接バインドされたポートにバインドされます。

2 つの受信シェイプがあると便利なことがよくあります。1 つはペイロードの可能性がある場合にルーティングの失敗をキャッチするためのもので、もう 1 つは定義して CatchException から他のオーケストレーションから渡す強力な型の障害ラッパー エンベロープにサブスクライブするためのものです。形状。

これは、すべての例外を処理するための 1 つの集中化された場所を構築できることを意味します。


まだ見ていない場合は、Charles Young による素敵な投稿があり、あなたがやろうとしていることと似たようなことを説明しているかもしれません。

于 2010-05-06T23:07:45.147 に答える