2013-10-07 2 views
0

У меня есть веб-приложение, которое отправляет запрос на мой node.js. Модуль узла вызывает мой модуль Spring REST. Мой веб-приложение для вызова узла, как показано нижеПроблема интеграции узлов веб-приложений Java

$.ajax({ 
     type : "POST", 
     url : "http://localhost:9090/module", 
     dataType : 'json', 
     data : msgDetails, 
     xhrFields : { withCredentials : true }, 
     success : function(data) { 
     console.log("getInbox" + JSON.stringify(data.message)); 
    }, error : function(data) { 
     alert("Error in the AJAX response." + data); 
    } }); 

мой узел, как показано ниже

var express = require("express"), 
app = express(), 
http = require("http").createServer(app); 

var requestObj = require('request'); 
responseBody = ""; 
indexresponseBody = null; 
app.use(express.bodyParser()); 

app.post('/module', function(req, res){ 
    var tempInbox = ""; 
    var tmp = req; 
    var authKey = req.body.pubKey; 
    var reqBody = req.body; 
    console.log("POST"+" - "+JSON.stringify(reqBody)+" - "+authKey); 
    restCMCall("http://ip:port/restmodule/controller/call", req, res,authKey,reqBody); 
    //res.end(JSON.stringify(body)); 
    res.header('Content-Type', 'application/json'); 
    //resp.header('Charset', 'utf-8'); 
    res.send({"name1":"name"}); 
}); 


function restCMCall(resturl, req, res, authKey,reqBody){ 
var i = 0; 
console.log("reqBody :- "+reqBody+" resturl "+resturl+" "+i++); 
requestObj({ 
    url : resturl, 
    method : "POST", 
    headers : { "Content-Type" : "application/json","pubKey":authKey}, 
    body : JSON.stringify(reqBody) 
}, 
function (error, resp, body) { 
    tempInbox = body; 
    console.log(resp+" inbox body :- "+" -------- "+i++); 
    //resp.writeHead(200, {'Content-Type':'application/json','charset':'UTF-8'}); 
    //res.write(JSON.stringify({"hello":"xxx"})); 
    //res.end(JSON.stringify(body)); 
    res.header('Content-Type', 'application/json'); 
    //resp.header('Charset', 'utf-8'); 
    res.send(body); 
} 
); 
    console.log(i++); 
} 

До сих пор я могу получить ответ от пружинного модуля и способен печать на консоли узла. Но когда я пытаюсь добавить этот ответ в ответ на запрос, сделанный веб-приложением, он не отправляется.

В Firefox Browser поджигатель это показывает, как

Response Headers 
Connection keep-alive 
Content-Length 21 
Content-Type application/json 
Date Mon, 07 Oct 2013 16:13:38 GMT 
X-Powered-By Express 

но вкладка ответ, как пустой.

Я использую экспресс-модуль для вызова веб-сервисов весеннего отдыха node.js.

Пожалуйста, дайте мне знать, если у меня что-то не хватает. Я также пробовал использовать

response.json(body) 

Но это также не работает.

+0

Оба веб-приложения и REST приложения развернуты на сервере Tomcat на одном компьютере и мое приложение узла работающих на другой машине/сервере. – abcd

ответ

0

Я считаю, что вы должны сделать запрос на url : "http://localhost:9090/getInbox", потому что вы не создали конечную точку в приложении узла, который соответствует POST: /module

+0

Да, я делаю запрос на http: // localhost: 9090/module в модуле узла. Пожалуйста, найдите обновленный пост. – abcd

Смежные вопросы