2012-03-29 53 views
0

我需要將xml事件從某個服務器推送到NodeJS服務器。將XML事件推送到NodeJS服務器?

我認爲這樣做的最好方法是創建一個基於NodeJS的Web服務(WSDL,SOAP,XML ......根據標準),但是我沒有找到任何模塊。

我想過socket.io很好,但我認爲這是相關的,只有當通信包括瀏覽器...

任何想法?

感謝

回答

1

好了,好消息是節點爲您提供了非常靈活,但並不總是必須實現這樣的事情庫。

那麼,第一個問題是對方是否已經存在?如同爲什麼XML一樣?

假設它不是,但你確實想要使用XML,兩個選項包括HTTP(REST)或TCP套接字,這兩個選項都可以在Node中實現。

首先,HTTP:

我將使用快遞,雖然你可以使用另一種框架或只是HTTP如果你喜歡。

var express = require('express') 
var app = express.createServer(); 
var notQuiteBasic = function(req, res, next) { 
    if (req.headers['Authentication']) { 
     req.authenticated = true; 
    }; 
    next(); 
}; 

app.use(notQuiteBasic); 
app.post('/xml', function(req, res) { 
    if (req.authenticated) { 
     processXml(req.body, function() { 
      res.send(200); 
     }); 
    }; 
}); 
app.listen(8000); 

和TCP:

var socket = require('socket'); 
var server = socket.createServer(); 
server.on('data', function (data) { 
    /* TODO: check envelope auth */ 
    processXml(data); 
}); 
server.listen(8222, '0.0.0.0');