cómo publicar datos XML en node.js http.request

estoy intentando enviar una solicitud xml a un servicio web a través de Node.js usando http.request .

Aquí está mi código. Mi problema es que en lugar de data=1 quiero publicar xml en el servicio.

 http.request({ host: 'service.x.yyy.x', port: 80, path: "/a.asmx?data=1", method: 'POST' }, function(resp) { console.log(resp.statusCode); if(resp.statusCode) { resp.on('data', function (chunk) { console.log(chunk); str += chunk; }); resp.on('end', function (chunk) { console.log(str); }); } }).end(); 

Ho para hacer esto?

http.request devuelve el objeto ClientRequest que también es un flujo grabable. En lugar de .end() do end(xmlbody) o .write(xmlbody).end()

En realidad, el enlace dado por Andrey Sidorov ayudó a que funcionara. Esto funciona.

 var body = '' + ''+ '......'; var postRequest = { host: "service.x.yyy.xa.asmx", path: "/a.asmx", port: 80, method: "POST", headers: { 'Cookie': "cookie", 'Content-Type': 'text/xml', 'Content-Length': Buffer.byteLength(body) } }; var buffer = ""; var req = http.request( postRequest, function( res ) { console.log( res.statusCode ); var buffer = ""; res.on( "data", function( data ) { buffer = buffer + data; } ); res.on( "end", function( data ) { console.log( buffer ); } ); }); req.on('error', function(e) { console.log('problem with request: ' + e.message); }); req.write( body ); req.end();