Node.js 套接字挂起{[错误:套接字挂起]代码:';EconReset';}

Node.js 套接字挂起{[错误:套接字挂起]代码:';EconReset';},node.js,web-services,api,sockets,http,Node.js,Web Services,Api,Sockets,Http,我想点击Node.js中的API来连接SOAP和HTTPS。当我点击URL以使用HTTPS请求执行函数时,我使用以下代码连接SOAP服务器以执行数据传输。但它显示了一个错误: {[错误:套接字挂起]代码:'ECONNRESET'}: exports.check=函数(req,res){ //添加SSL以与SOAP通信 var sslRootCAs=require('ssl-root-cas/latest') .inject() .addFile(_dirname+'/Symantec Class

我想点击
Node.js
中的API来连接SOAP和HTTPS。当我点击URL以使用HTTPS请求执行函数时,我使用以下代码连接SOAP服务器以执行数据传输。但它显示了一个错误:

{[错误:套接字挂起]代码:'ECONNRESET'}:

exports.check=函数(req,res){
//添加SSL以与SOAP通信
var sslRootCAs=require('ssl-root-cas/latest')
.inject()
.addFile(_dirname+'/Symantec Class 3安全服务器CA-G4.cer');
变量体=“”+
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'';
变量body2=''+
'' +
'' +
'' +
''+用户名+''+
''+密码+''+
“DEFRA-CTWS-FULL-PROVING”+
''身体+''+
“寄存器\u异步-V1-0”+
'' +
'' +
'';
var postRequest={
主持人:“hostman.com”,
路径:“/abcxyz.asmx?WSDL”,
港口:443,
对,对,
方法:“张贴”,
标题:{
“接受”:“应用程序/xml”,
“内容类型”:“应用程序/xml;字符集=UTF-8”,
“SOAPAction”:“https://www.axys.com/TransferData",
“内容长度”:缓冲区。字节长度(body2)
}
};
var buffer=“”;
var req=http.request(postRequest,函数(res){
控制台日志(res);
var buffer=“”;
res.on(“data”,函数(data){buffer=buffer+data;});
res.on(“end”,函数(数据){console.log(buffer);});
res.on('error',function(err){console.log(--error-->);console.log(err);});
});
//请求开启('error',函数(err){
//console.log(“----ERROR-->”);console.log(err);
// });
//`req`.on('socket',函数(socket){
//控制台日志(套接字)
//socket.setTimeout(3000);
//socket.on('timeout',function()){
//请求中止();
//     });
// });
请求开启('error',函数(err){
如果(err.code==“ECONNRESET”){
log(“发生超时”);
//特定错误处理
}
});
请求写入(正文);
请求结束();
}
exports.check=function(req,res) {
    //Add SSL to communicate with SOAP
    var sslRootCAs = require('ssl-root-cas/latest')
        .inject()
        .addFile( __dirname + '/Symantec Class 3 Secure Server CA - G4.cer' );

    var body = '<?xml version="1.0" encoding="UTF-8"?>' +
        '<!—Worked Example 1: Birth Request -->' +
        '<RegBirths SchemaVersion="1.0" ProgramName="CTWSProg" ProgramVersion="1b" RequestTimeStamp="2001-12-17T09:30:47-05:00" >' +
            '<Authentication>' +
                '<CTS_OL_User Usr="111-111-111" Pwd="m0nster"/>' +
            '</Authentication>' +
            '<Births TxnId="123889">' +
                '<Birth RowNum="1" Etg="UK520202500138" Dob="2004-03-01" Brd="HF" Sex="f" EId="111222333" GdEtg="UK560002400063"' +
                    'BLoc="20/002/0001" PLoc="01/001/0001" PSLoc="04" IWarn="n"/>' +
                '<Birth RowNum="2" Etg="UK240001300777" Dob="2004-03-09" Brd="HF" Sex="f" EId="111222333" GdEtg="UK560002100018"' +
                    'BLoc="20/002/0001" PLoc="01/001/0001" PSLoc="04" IWarn="n" />' +
            '</Births>' +
        '</RegBirths>';

    var body2 = '<?xml version="1.0" encoding="utf-8"?>'+
        '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' +
            '<soap:Body>' +
                '<TransferData xmlns="http://www.defra.gov.uk">' +
                    '<username>' + username + '</username>' +
                    '<password>' + password + '</password>' +
                    '<serviceName>DEFRA-CTWS-FULL-PROVING</serviceName>' +
                    '<data>'+ body +'</data>' +
                    '<type>Register_Births_Asynchronous-V1-0</type>' +
                '</TransferData>' +
            '</soap:Body>' +
        '</soap:Envelope>';

    var postRequest = {
        host : "hostman.com",
        path: "/abcxyz.asmx?WSDL",
        port: 443,
        rejectUnauthorized: true,
        method: "POST",
        headers: {
            'Accept': 'application/xml',
            'Content-Type': 'application/xml; charset=UTF-8',
            'SOAPAction': "https://www.axys.com/TransferData",
            'Content-Length': Buffer.byteLength(body2)
        }
    };

    var buffer = "";

    var req = http.request( postRequest, function( res ) {
        console.log( res );
        var buffer = "";
        res.on( "data", function( data ) { buffer = buffer + data; } );
        res.on( "end", function( data ) { console.log( buffer ); } );
        res.on('error', function (err) { console.log( "----ERROR----" ); console.log(err);});
    });
    // req.on('error', function(err) {
    //     console.log( "----ERROR----" ); console.log(err);
    // });
    // `req`.on('socket', function (socket) {
    //   console.log(socket)
    //     socket.setTimeout(3000);  
    //     socket.on('timeout', function() {
    //         req.abort();
    //     });
    // });
    req.on('error', function(err) {
        if (err.code === "ECONNRESET") {
            console.log("Timeout occurs");
            //specific error treatment
        }
    });
    req.write( body );
    req.end();
}