18

を使用してNode.js経由でWebサービスにxmlリクエストを送信しようとしていhttp.requestます。

これが私のコードです。私の問題は、代わりにdata=1xmlをサービスに投稿したいということです。

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();

これを行うには?

4

3 に答える 3

26

実際、アンドレイ・シドロフによって与えられたリンクは、それを機能させるのに役立ちました。これは機能します。

var body = '<?xml version="1.0" encoding="utf-8"?>' +
           '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'+
            '<soap12:Body>......</soap12:Body></soap12:Envelope>';

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();
于 2012-12-24T12:52:03.250 に答える
9

http.request書き込み可能なストリームでもあるClientRequestオブジェクトを返します。.end()する代わりend(xmlbody).write(xmlbody).end()

于 2012-12-24T08:49:56.800 に答える
0
var request = require("request");
request.post({
    rejectUnauthorized: false,
    url: 'URL',
    method: "POST",
    headers: {
        'Content-Type': 'application/xml',
    },
    body: '<XML>'
}, function (error, response, body) {
    if (error) {
        // Handle error
    } else {
        // Handle Response and body
    }
});
于 2021-07-16T03:40:13.390 に答える