MQTTモジュール(mqtt.js)を使用してNodeJSにクライアントを置いて、WebSphere MQのトピックと通信し、キューにリダイレクトする:結果が必要MQTTプロトコルはトピックとのみ通信するので、ソースと宛先の間でトピックを使用します。 IBM WebSphere/MQTT.js:MQHRF2をMQSTR形式に変換する
は、だから我々は持っている: NodeJS(ソース) - >は、WebSphere MQのトピック(中間) - >は、WebSphere MQのキュー(宛先)は問題があることのキューで受信したメッセージWebsphereMQはMQHRF2形式ですが、私はMQSTRが必要です。
フォーマットを指定するmqtt.js側のプロパティが見つかりませんでした。
私はIBM Websphere MQで強制することができますが、どうしたらいいですか?このような用途のためにチャンネルなどを作成することはできますか?つまり、受信フォーマットをに変換しますか?
ご協力いただきありがとうございます。
構成:
制約:
- のWebSphere MQはV7.5でなければなりません(私はmqlightを使用するV8にアップグレードすることはできません)
- BeモジュールMQTT.jsに滞在する
WebSphere MQエクスプローラーを介してトピックに直接パブリッシュすると正しく動作します。しかし、NodeJSアプリケーションから公開すると失敗します。
は、私がコメントで上場両方の方法を試してみましたが、私は奇妙なことを見つけました:MQエクスプローラーで:結果は、私がMQExplorer(私はいつも使用したもの)、またはMQコンソールを使用する場合に応じて異なります QUEUE_MQTT_VERIF MQTTVerification amqsbcg:コマンドを使用して、MQコンソール、オン
あなたが見ることができるようには、コンソールでは、フォーマットフィールドは、空です。メッセージも異なっています。
MQConsoleの結果は正しいですが、MQExplorerは変更後も依然として間違った結果を示しています。その結果、変更が両方で行われている右の場合にのみであることを 注:
- サブスクリプション:ALTER SUB(APPLE。料金)PSPROP(NONE)
- キュー:ALTER QLOCAL(価格)PROPCTL(NONE)
たぶん、問題の原因は、MQExplorerソフトウェア上の表示だけでしょうか?
EDIT:MQExplorerとMQConsole差がMQ Explorerのパラメータに起因した
:ウィンドウ - >設定 - >のWebSphereMQエクスプローラ - >メッセージのプロパティ - >チェックを外し "ディスプレイメッセージプロパティ"。
DEFINE QLOCAL(PRICES)
DEFINE TOPIC(APPLES) TOPICSTR('Price/Fruit/Apples')
DEFINE SUB(APPLE.PRICES) TOPICOBJ(APPLES) DESTCLAS(PROVIDED) DEST(PRICES)
キュー価格のトピック文字列「価格/フルーツ/りんご」で作られた出版物をリダイレクトする - :キューに話題に作られた出版物をリダイレクトする場合
私はあなたが一歩一歩言ったことを正確に行いましたが、それでも動作しません...他に何かをチェックする必要がありますか? また、受信した文字列の内容のみを保持するために、ヘッダーを削除する方法がありますか? –
パブリケーションが外部ソース(ここではnodeJS)から来た場合はどうなりますか? (cf:投稿を編集) –
あなたはどのメソッドを使用しましたか? SUBまたはQUEUEを変更しましたか? SUBを変更した場合は、動作するかどうかをテストするために新しいメッセージを発行しましたか? –