0

任意のタイプのflatfile_to_xmlエラーをキャッチするために、オーケストレーションから受信パイプラインを呼び出そうとしています。BizTalk ExecuteReceivePipelineはXmdlDocumentパラメータを受け入れることができません

チュートリアルを検索した後、プロセスは非常に簡単だったようです。 追加したライブラリは、(私の場合、私はfile.txtの内容に)任意の非XMLペイロードをinglobeするタイプのXmlDocumentの私のINPUTMSGを作成しての式を含むアトミックスコープ作成:

Microsoft.XLANGs.Pipeline.XLANGPipelineManager 
    .ExecuteReceivePipeline(typeof(namespace.pipelineName), msgIN); 

あまりにも悪い私をExecuteReceivePipelineはMicrosoft.XLANGs.BaseType.XLANGMessageのみを受け付ける間にXmlDocumentを受け入れることができません。

Cannot connvert from 'System.Xml.XmlDocument' to 'Microsoft.XLANGs.BaseTypes.XLANGMEssage' 

これはなぜ、達成しようとしているのですか?

+0

なぜオーケストレーションでこれを行う必要がありますか?ポート上にパイプラインを置いて、失敗したメッセージのルーティングを設定してください。その後、失敗したメッセージを購読して、失敗したメッセージを処理します。 – Dijkgraaf

+0

2番目のディレクトリに送信する新しいファイルを作成するように求められます。ファイルには、例外の詳細、処理の段階(範囲、クリアされる)、元のmsg(テキストの内容)が含まれているので、ファイルを送信した企業は、障害の原因を元の障害メッセージと比較し、新しい修正済みのもの古典的なパイプラインからは、フラットファイルのmessageTypeを購読して保存することしかできず、例外の詳細ではできません。もし私がまだ私は分離されたメッセージで終わることができます。 – strongmmc

答えて

0

これで問題なく動作しています。理由はわかりません。 最初にXINDocumentタイプのmsgINが有効なパラメータとして受け入れられませんでした。

ExecuteReceivePipeline(typeof(namespace.pipelineName), msgIN) 

が有効になります:呼び出すよう は、私はその後、型のXmlDocumentのMSGTYPEを作成し、メッセージの種類としてそれを割り当てられました。多くの再構築と展開の後、私はXmlDocumentとしてmsgInに戻りました...そして、それは意図した通りに機能しました...

私はそれを取得しませんが、再構築またはクローズアンドリオープンVSの私の善意を解決しました。 時間を見つけた方に感謝します!

0

XmlDocumentタイプのメッセージ変数を使用する必要があります。

変数(XmlDocumentタイプ)を使用しているようです。

+0

これは当てはまりません。私は** XmlDocument型のメッセージを使って**を始めました**そして最初にエラーを取得しました。 XmlDocumentのメッセージ部分を持つメッセージを使用しています。なぜなら、このメッセージはXmlDocumentを含む任意のタイプのマルチパートをラップするXLANGMessageであるからです。 パイプラインエラーをキャッチしようとしないと、オーケストレーションが機能するようになりました。そうしないと、ルートレベルの_Data型のXmlExceptionが無効です。行1、位置1_ – strongmmc

関連する問題