2013-11-22 56 views
0

我的應用程序需要從Reliable Webservice接收結果。這裏是場景: -使用Nodejs連接到可靠的Webservice

首先我發送一個CreateSequence請求。然後服務器回覆一個CreateSequenceResponse消息。接下來,我將實際的請求發送到web服務。

然後webservice發送一個響應202 accept code並將結果發送到稍後的消息。所有這些消息都包含標頭Connection: keep-alive

我用http.ClientRequest提出了要求。我可以捕獲除結果之外的所有回覆。 http.ClientRequest僅觸發一個response事件。

我如何收到包含結果的消息?

有沒有什麼辦法來監聽socket的剩餘數據(socket.on('data')沒有工作)。我用Apache SynapseReliableStockQuoteService一起檢查了這一點。我很感激有人能幫助我。

回答

0

當您得到response事件時,會給您一個參數,它是一個http.IncomingMessage,它是一個Readable流。這意味着您應該將應用程序邏輯綁定在響應對象的事件data上,而不是請求本身。

req.on('response', function (res) { 
    res.on('data', console.log); 
}); 

編輯:如何使節點使用HTTP請求Here is a good article

+0

感謝您的回覆。情況就是如此。'響應'事件只發生一次。問題是服務器爲最後一次請求發送兩條單獨的消息。我如何捕獲第二條消息。 – Samitha