将XML事件推送到NodeJS服务器?

时间:2012-03-29 14:06:49

标签: xml node.js

我需要将xml事件从某个服务器推送到NodeJS服务器。

我认为最好的方法是创建一个基于NodeJS的Web服务(WSDL,SOAP,XML ......根据标准),但我找不到任何模块。

我也考虑过socket.io,但我认为只有当通讯包含浏览器时它才有意义......

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

嗯,好消息是Node为您提供了很大的灵活性,但并不总是有库来实现这样的事情。

那么,第一个问题是对方已经存在了吗?就像为什么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');