4

MQのメッセージを読み込もうとしていますが、IBM からのこのアプローチに従って、「バインディングとエンドポイント情報をプログラムで提供することにより、WCFカスタムチャネル」を作成しています。

着信メッセージごとに呼び出されるクラスとメソッドを指定するヘッダーを持つSOAPメッセージを処理する同様のメカニズムがあります。

別のキューからのSOAP形式ではないメッセージを処理したいのですが、このエラーが発生します。

System.ServiceModel.CommunicationException:WCFCH0314E:受信したメッセージ'ID:...'を逆シリアル化できませんでした。メッセージの形式または内容が、選択したメッセージ・エンコーダーと一致しておらず、SOAP/JMSメッセージとして解釈できません。詳細については、リンクされている例外を確認してください。---> System.ServiceModel.CommunicationException:認識されないメッセージバージョン。

この例ではSoapJmsIbmTransportBindingElementを使用しているため、これは理にかなっています。残念ながら、IBM.XMS.WCFには代替のバインディング要素がないようです。

せっけん以外のメッセージ用にMQ用のWCFカスタムチャネルを作成することは可能ですか?

4

1 に答える 1

3

現在、MQ WCFカスタムチャネルはSOAPメッセージのみをサポートし、非SOAPメッセージはサポートしていません。MQ WCFカスタムチャネルは、特定のメッセージヘッダーを検索して、着信メッセージをWCFメッセージとして識別します。これらのヘッダーが存在しない場合、WCFCH0314E例外がスローされます。

于 2012-12-11T04:23:14.493 に答える