我需要将xml事件从某个服务器推送到NodeJS服务器。
我认为最好的方法是创建一个基于NodeJS的Web服务(WSDL,SOAP,XML ......根据标准),但我找不到任何模块。
我也考虑过socket.io,但我认为只有当通讯包含浏览器时它才有意义......
有什么想法吗?
由于
答案 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');