2013-11-22 4 views
0

내 응용 프로그램은 신뢰할 수있는 웹 서비스의 결과를 받아야합니다. 다음은 시나리오입니다. -Nodejs를 사용하여 신뢰할 수있는 웹 서비스에 연결

먼저 CreateSequence 요청을 보냅니다. 그런 다음 서버는 CreateSequenceResponse 메시지로 응답합니다. 다음으로 웹 서비스에 실제 요청을 보냅니다.

그러면 웹 서비스가 202 accept code과 함께 응답을 보내고 결과를 나중의 메시지로 보냅니다. 이 메시지에는 모두 Connection: keep-alive 헤더가 있습니다.

http.ClientRequest으로 요청했습니다. 결과를 제외한 모든 응답을 캡처 할 수 있습니다. http.ClientRequest 이벤트는 response 이벤트를 발생시킵니다.

어떻게 결과가 포함 된 메시지를받을 수 있습니까?

남아있는 데이터를 수신하기 위해 소켓을 청취 할 방법이 있습니까? (socket.on('data')이 작동하지 않습니다. 나는 Apache Synapse와 함께 출하 된 ReliableStockQuoteService으로 이것을 확인했다. 누군가가 나를 도울 수 있으면 고맙습니다.

답변

0

response 이벤트가 발생하면 하나의 인수 (http.IncomingMessage, 즉 Readable 스트림)가 제공됩니다. 즉, 요청 자체가 아닌 응답 객체의 data 이벤트에서 응용 프로그램 논리를 바인딩해야합니다.

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

편집 : 노드를 사용하여 HTTP 요청을 만드는 방법에Here is a good article.

+0

답장을 보내 주셔서 감사합니다. 이 경우입니다. 응답 이벤트는 한 번만 발생합니다. 문제는 서버가 마지막 요청에 대해 두 개의 개별 메시지를 보내는 것입니다. 두 번째 메시지를 어떻게 캡처 할 수 있습니까? – Samitha

관련 문제