행위

SOAP 통신 (Node.js)

라이언의 꿀팁백과

https://gist.github.com/gjyoung1974/d256278023f43569a8d4982f309eedec

https://stackoverflow.com/questions/124269/simplest-soap-example


// post to a SOAP API

var http = require('http');

var s_Pan = '378282246310005'; //get the unprotected PAN from the form

var s_DPFormat = 'CC'; //get the data protection Format

var s_Identity = 'user@domain.com'; //get the data protection Format

var s_AuthInfo = 'p3ssw3rd'; //get the data protection Format


// Marshal up a ProtectFormattedData SOAP Mesage: var soapRequest =

   '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vib="http://voltage.com/vibesimple">' + "\n" +
   '  <soapenv:Header/>' + "\n" +
   '  <soapenv:Body>' + "\n" +
   '     <vib:ProtectFormattedData>' + "\n" +
   '        <dataIn>' + s_Pan + '</dataIn>' + "\n" +
   '        <format>' + s_DPFormat + '</format>' + "\n" +
   '        <identity>' + s_Identity + '</identity>' + "\n" +
   '        <tweak></tweak>' + "\n" +
   '        SharedSecret' + "\n" +
   '        ' + s_AuthInfo + '' + "\n" +
   '     </vib:ProtectFormattedData>' + "\n" +
   '  </soapenv:Body>' + "\n" +
   '</soapenv:Envelope>';

var options = {

   hostname: 'voltage-pp-0000.corp.acme.local',
   port: 8181,
   path: '/vibesimple/services/VibeSimpleSOAP',
   method: 'POST',
   headers: {
       //'Content-Type': 'text/xml; charset=utf-8', is it this one or the follwing one?
       'Content-Type': 'application/soap+xml; charset=utf-8',
       'SOAPAction': 'http://voltage.com/vibesimple'
   }

};

var req = http.request(options, function (res) {

   //TODO do something usefull with the response headers:
   // console.log('headers:\n' + JSON.stringify(res.headers));
   res.setEncoding('utf8');
   res.on('data', function (chunk) {
       console.log('body:\n' + chunk);
   });

});

req.on('error', function (e) {

   console.log('problem with request: ' + e.message);

});


req.end();


/*

https://uat.riskmanager.cn/WebService/webservices/v3/JPReportService?wsdl

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="https://v3.creditreport.sinotrust.cn"> <soap:Header/>

 <soap:Body>
   <v3:UserLogin>
       <v3:LoginName>KSURE_test</v3:LoginName>
       <v3:Password>Experian2023</v3:Password>
   </v3:UserLogin>
 </soap:Body>

</soap:Envelope>


*/