2012年6月18日月曜日

MSMQのエラー

すっかり Win プログラマに成り下がった今日このごろですが、MSMQ をいじっていたら
(Windows に MQ があるとは今の今まで知らんかった)、receive() で以下のエラーに遭遇。


  ターゲットの型配列が見つかりません。XML でフォーマットされたメッセージを逆シリアル化するためには、ターゲット型配列を設定しなければなりません。

Web には全然情報なし。 英語(English translation: Target type array is missing. The target
type array must be set in order to deserialize the XML-formatted message.)でググっても
有用な情報なし。# 絶対ビングらない。

当該の MessageQueue の Format プロパティに new した XMLMessageFormatter() を指定
する際、いくつかコンストラクタの overload があって、引数が targetTypeNames() as String
というのがあった。

この引数に {"System.String"}などという文字列配列を指定したらエラーがでなくなり、正常に
receive できるようになった。

ふぅ…

0 件のコメント:

コメントを投稿