9

JBoss AeroGear JavaScript 通知機能は、さまざまなメッセージング サービスおよびプロトコルと対話するための統合/類似 API を提供するアダプターのコレクションです。

問題

Eclipse Paho MQTT JavaScript クライアントに依存するJBoss AeroGear JS MQTT over WS アダプターの QUnit テストをいくつか書いています。テストは Firefox/Chrome では機能しますが、PhantomJS 1.9.7 ではAMQJS0008I Socket closed接続エラーで失敗します。

当初、私のテストは Apache Active MQ ブローカー バージョン 5.9.0 に対して実行されていました。このバージョンは、すぐに WebSocket 経由で MQTT をサポートします。また、WebSockets サンドボックス環境で Eclipse Paho MQTT を使用するようにそれらを変更しましたws://iot.eclipse.org/wsが、問題はまだ存在します。

再現する方法は?

GitHub リポジトリのクローンを作成しますhttps://github.com/tolis-e/aerogear-js-integrationstackoverflowブランチをチェックアウトし、実行npm installしてからgrunt integration-iot --debug. テストが Firefox/Chrome で機能していることを確認するにtests/notifier/mqttws.htmlは、ブラウザで を開きます。QUnit テストはmqttws.jsファイル内にあります。以下のログでわかるように、AMQJS0008I Socket closedエラーが発生しています。

エラーの原因について何か考えはありますか? この問題は、PhantomJS 1.9.7 が Web Sockets RFC 6455 をサポートしていないことに関連していると私は考えています。RFC 6455 は PhantomJS 2.x でサポートされるようです。

ログ

[D] ["phantomjs","qunit.begin"]
[D] ["phantomjs","onLoadFinished","success"]
[D] ["phantomjs","qunit.moduleStart","Connect / Disconnect"]
[D] ["phantomjs","qunit.testStart","Connect to and Disconnect from MQTT Server"]
[D] ["phantomjs","console","Unexpected response code: 404"]
Unexpected response code: 404
[D] ["phantomjs","console","Connection error: AMQJS0008I Socket closed."]
Connection error: AMQJS0008I Socket closed.
[D] ["phantomjs","fail.timeout"]
4

0 に答える 0