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