2016-09-07 8 views
0

bluemix空間のノードインスタンスからセキュアゲートウェイ経由でTririga OSLC apiにアクセスするとエラーが発生します。 TririgaサーバーはインドのPuneにある私のオフィスでホストされています。 BluemixゾーンはUS-Southです。セキュアゲートウェイによるAPIの間欠障害

エラー:

Error: socket hang up : cap-sg-prd-3.integration.ibmcloud.com:15343/tririga/oslc/spq/triAllParkingLotsQC?oslc.select=*&oslc.where=spi:cstSensorId=15 

SyntaxError: undefined:1 Error: socket hang up :^Unexpected token E 

郵便配達してURLにアクセスする問題はありません。これは2つのDC間のリンク速度と関係していますか? Bluemixゲートウェイの速度テストは、アップリンクとダウンリンクの両方で200msのレイテンシを示します。

さらに詳しい情報: Tririgaを削除するサンプルアプリケーションを作成しました。一番下に、同じTririgaサーバー上で動作するサンプルノードのアプリケーションコードが表示されます。ゲートウェイサービスで新しい宛先を作成し、新しい宛先のゲートウェイホストとポートを使用してNodeRedフロー経由でAPIにアクセスしようとしました。このapiも同じ問題を抱えています。

エラー:ソケットがハングアップ:cap-sg-prd-3.integration.ibmcloud.com:17451/inventory私はオンに印刷された以下のサーバ要求「/在庫」の両方のコンソールログを参照してください

前提サーバーコンソール。

var express = require('express'); 

// create a new express server 
var app = express(); 

var inventories= [ 
    { city : 'Beijing', quantity : 1000}, 
    { city : 'Shanghai', quantity : 500}, 
    { city : 'Guangzhou', quantity : 1000}, 
    { city : 'Shenzhen', quantity : 800} 
]; 

//Get the inventory data 
app.get('/inventory', function(req, res) { 
    console.log("Request received"); 
    res.send({"code":1000, "inventory":inventories}); 
    console.log("Request sent"); 
}); 

app.listen(8000, function() { 
    //print a message when the server starts listening 
    console.log("server started on 8000"); 
}); 

つ以上の観察はhttp://cap-sg-prd-3.integration.ibmcloud.com:17451/inventoryが問題なくブラウザまたは郵便配達を介してアクセスすることができることです。

+0

この要求を行うと、Secure Gateway Clientはログを生成していますか? –

+0

こんにちはガレン、私はログレベルをトレースしています。以下のような繰り返しのクライアントログが表示されます。[2014-09-07 16:06:50.429] [情報](クライアントID 1tndU6uPzOP_5Ay)10.46.40.145:8001に接続番号179が設定されていますクライアントID 1tndU6uPzOP_5da)接続番号177〜10.46.40.145:8001が閉じました [2016-09-07 16:06:50.913] [情報](クライアントID 1tndU6uPzOP_O0L)接続番号136が10.46.40.145:8001に設定されています [ 2016-09-07 16:06:51.194] [情報](クライアントID 1tndU6uPzOP_5Ay)接続番号179〜10.46.40.145:8001が閉じました –

+0

[OK]クライアントはエラーを報告していません。あなたはどのクライアントのバージョンを使用していますか、いつインストーラをダウンロードしたのですか/ドッカーのイメージを引きますか? –

答えて

1

ありがとうガレン。私は原因を考え出した。キープアライブヘッダーを追加することで、私は問題を解決することができました。正確には、URLを呼び出す前にノードレッド関数に次の行を追加しました。

[{"id": "ef815a6f.f94ed8"、 "type": "function"、 "z": "280728a8.c953b8"、 "name": "Tririga session"、 "func": "\ nvar \ n msg_headers ['set-cookie']; \ n msg.headers = {\ "{セッション\ n ":\" Keep-Alive:timeout = 15、max = 100 \ "、\" cookie \ ":sessionid}; \ n flow.set(\" get_headers \ "、msg.headers); \ n \ n \ n \ nmsg.statusCode = \ "\"; \ nmsg._msgid = \ "\"; \ n \ n "msgstr" "出力":1、 "noerr":0、 "x":1697.9458847045898、 y ":142.6542739868164、" wires ":[[" f110f408.7fc428 "]]}