dummyspp0087.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. const http = require('http');
  2. const server = http.createServer((req, res) => {
  3. let body = '';
  4. let hasInquiry = false;
  5. let hasPayment = true
  6. req.on('data', (chunk) => {
  7. body += chunk;
  8. });
  9. req.on('end', () => {
  10. hasInquiry = /<(\w+:)?Inquiry\b/.test(body);
  11. hasPayment = /<(\w+:)?Payment\b/.test(body);
  12. if (req.url === '/dummy-ws-spp-0087' && req.method === 'POST') {
  13. const xmlInquiryResponse = `<?xml version="1.0" encoding="utf-8"?>
  14. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  15. <SOAP-ENV:Body>
  16. <InquiryResponse xmlns="http://h2h_UMG/">
  17. <InquiryResult>
  18. <billinfo1>0</billinfo1>
  19. <billinfo2>02</billinfo2>
  20. <billinfo3>2018100608</billinfo3>
  21. <billinfo4>CINDY LAILATIN FITRIA</billinfo4>
  22. <billinfo5>PGSD</billinfo5>
  23. <billinfo6>Gelombang II</billinfo6>
  24. <billinfo7>Reguler / Reguler CBT</billinfo7>
  25. <billinfo8>Sore</billinfo8>
  26. <billinfo10>IDR</billinfo10>
  27. <billinfo11>2</billinfo11>
  28. <billinfo12></billinfo12>
  29. <billReff>SPP :Rp. 4,000,000.00HEREGISTRASI :Rp. 300,000.00</billReff>
  30. <totalAmount>4300000</totalAmount>
  31. <Sqlinquiry>insert into inquiry (nim, nama, numbill, billid, billcode, billname, billamount, periode, statusbayar, transdatetime, id_teller) values ('2018100608','CINDY LAILATIN FITRIA','2','201811200000201810060801','SPP','SPP ','4000000','20181', '0', now(), '6822');insert into inquiry (nim, nama, numbill, billid, billcode, billname, billamount, periode, statusbayar, transdatetime, id_teller) values ('2018100608','CINDY LAILATIN FITRIA','2','201810600000201810060801','HER','HEREGISTRASI ','300000','20181', '0', now(), '6822');</Sqlinquiry>
  32. <Querydata>insert into inquiry (nim, nama, numbill, billid, billcode, billname, billamount, periode, statusbayar, transdatetime, id_teller) values ('2018100608','CINDY LAILATIN FITRIA','2','201811200000201810060801','SPP','SPP ','4000000','20181', '0', now(), '6822');insert into inquiry (nim, nama, numbill, billid, billcode, billname, billamount, periode, statusbayar, transdatetime, id_teller) values ('2018100608','CINDY LAILATIN FITRIA','2','201810600000201810060801','HER','HEREGISTRASI ','300000','20181', '0', now(), '6822');</Querydata>
  33. <Range>2</Range>
  34. <Namalain></Namalain>
  35. <StringBillAmont> 300,000.00</StringBillAmont>
  36. <billDetails>
  37. <billdetail>
  38. <billCode>SPP</billCode>
  39. <billName>SPP</billName>
  40. <billId>201811200000201810060801</billId>
  41. <billAmount>4000000</billAmount>
  42. <periode>20181</periode>
  43. </billdetail>
  44. <billdetail>
  45. <billCode>HER</billCode>
  46. <billName>HEREGISTRASI AKTIF</billName>
  47. <billId>201810600000201810060801</billId>
  48. <billAmount>300000</billAmount>
  49. <periode>20181</periode>
  50. </billdetail>
  51. </billDetails>
  52. <status>
  53. <Status>
  54. <isError>false</isError>
  55. <errorCode>00</errorCode>
  56. <errorDescription>Sukses</errorDescription>
  57. </Status>
  58. </status>
  59. </InquiryResult>
  60. </InquiryResponse>
  61. </SOAP-ENV:Body>
  62. </SOAP-ENV:Envelope>`;
  63. const xmlPaymentResponse = `<?xml version="1.0" encoding="utf-8"?>
  64. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  65. <SOAP-ENV:Body>
  66. <PaymentResponse xmlns="http://h2h_UMG/">
  67. <PaymentResult>
  68. <billinfo1>0</billinfo1>
  69. <billinfo4></billinfo4>
  70. <billinfo5></billinfo5>
  71. <billinfo6></billinfo6>
  72. <billinfo7></billinfo7>
  73. <billinfo8></billinfo8>
  74. <billinfo9></billinfo9>
  75. <billinfo11>0</billinfo11>
  76. <billinfo12></billinfo12>
  77. <totalAmount>0</totalAmount>
  78. <Sqlinquiry></Sqlinquiry>
  79. <Querydata></Querydata>
  80. <Range>0</Range>
  81. <Namalain></Namalain>
  82. <StringBillAmont></StringBillAmont>
  83. <status>
  84. <Status>
  85. <isError>false</isError>
  86. <errorCode>00</errorCode>
  87. <errorDescription>Sukses</errorDescription>
  88. </Status>
  89. </status>
  90. </PaymentResult>
  91. </PaymentResponse>
  92. </SOAP-ENV:Body>
  93. </SOAP-ENV:Envelope>`;
  94. if(hasInquiry) {
  95. res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
  96. res.end(xmlInquiryResponse);
  97. } else if (hasPayment) {
  98. res.writeHead(200, { 'Content-Type': 'text/xml; charset=ISO-8859-1' });
  99. res.end(xmlPaymentResponse);
  100. } else {
  101. res.writeHead(404, { 'Content-Type': 'text/plain' });
  102. res.end('Not found');
  103. }
  104. } else {
  105. res.writeHead(404, { 'Content-Type': 'text/plain' });
  106. res.end('Not found');
  107. }
  108. });
  109. });
  110. server.listen(3018, () => {
  111. console.log('SOAP dummy running at http://localhost:3018/dummy-ws-spp-0087');
  112. });