私はnode.jsを使ってNetSuiteのREST APIに接続しています。問題は、NetSuiteのポート番号がわからないためです。ポート番号を指定しないでください。ポート番号を指定しないと、80(デフォルト)になりますが、これは正しくありません。私はhttpsとしてポート443を試しましたが、NetSuiteの正しいポートではありません。Node.jsでポートを指定するのをスキップする方法http.request
「getaddrinfo ENOTFOUND」というエラーが表示されます。ここに私のコードです。
exports.helloGET =関数helloGET(REQ、RES){
//remove extra node
var json_build = '{"__type" : "salesorder", "status":"Approved"}';
console.log(json_build);
//call NS rest api
var options = {
host: 'rest.na2.netsuite.com',
path: '/app/site/hosting/restlet.nl?script=55&deploy=1',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Keep-alive': 'timeout=30',
'Authorization' : 'NLAuth nlauth_account="4678710", nlauth_email="[email protected]", nlauth_signature="password", nlauth_role="3"'
}
};
var http = require('http');
var post_req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
res.on('end',function(){
console.log('response ended');
});
});
post_req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
//post data
post_req.write(json_build);
post_req.end();
}。
「post_req.onエラー」の内部に入ります。
ポートを知らなくても接続を確立できないため、ポート番号を把握する必要があります。 HTTPのデフォルト値は80、HTTPSのデフォルト値は443です。 – TGW
私は443を試しました。NetSuiteがポート番号で応答するのを待っています。ありがとうTGW。 –