نحوه ساخت Middleware of soap api

Summarize this content to 400 words in Persian Lang
در زیر CRUL OF SAP API نیاز به ساختن میانافزار API است
curl –location –request POST ‘https://mwuat.icicibankltd.com/v1/api/peoplesoft/viewMaritalStatus’ \–header ‘Content-Type: text/xml;charset=UTF-8’ \–header ‘SOAPAction: MarStatusfetch.v1 ‘ \–header ‘Cookie: hrmsuat=ffffffff094614af45525d5f4f58455e445a4a421640’ \–data-raw ‘1200PS_VIEWMS90002346’
مسیرها
app.post(‘/viewMaritalStatus’,controller.uotmauth.viewMaritalStatus)
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
کنترلر
exports.viewMaritalStatus = async (req, res, next) => {
try {
const emplid = req.body.EMPLID;
console.log(emplid);
const result = await get_viewMaritalStatus_ResponseXML(emplid);
console.log(‘results’, result);
const response = await encryptResponse({ message: ‘success’, data: result, status: 200 });
TransactionlogError(req.body.EMPLID, req.originalUrl, ”, ”, ‘success’);
res.send(response);
} catch (error) {
TransactionlogError(req.body.EMPLID, req.originalUrl, req.body, error, ‘fail’);
handleError(req, res, error);
}
};
const get_viewMaritalStatus_ResponseXML = async emplid => {
const url=”https://mwuat.icicibankltd.com/v1/api/peoplesoft/viewMaritalStatus”;
// SOAP XML Payload
const xmlPayload = `
1200
PS_VIEWMS
${emplid}
`;
const headers = {
SOAPAction: ‘MarStatusfetch.v1’,
‘Content-Type’: ‘text/xml;charset=UTF-8’,
};
try {
// Sending the SOAP Request
const response = await axiosapi.post(url, xmlPayload, { headers });
console.log(response);
console.log(response.data);
return new Promise((resolve, reject) => {
parseString(response.data, { explicitArray: false }, (err, result) => {
if (err) {
console.error(‘Error in parsing XML response:’, err);
reject(err);
} else {
// Navigate through the XML structure to get to the SOAP Body
const data = result[‘XML’][‘soapenv:Envelope’][‘soapenv:Body’];
console.log(‘datadata:’, data);
resolve(data);
}
});
});
} catch (error) {
console.error(‘Error in SOAP request:’, error.message);
throw new Error(‘Failed to fetch marital status data’);
}
};
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
در زیر CRUL OF SAP API نیاز به ساختن میانافزار API است
curl --location --request POST 'https://mwuat.icicibankltd.com/v1/api/peoplesoft/viewMaritalStatus' \
--header 'Content-Type: text/xml;charset=UTF-8' \
--header 'SOAPAction: MarStatusfetch.v1 ' \
--header 'Cookie: hrmsuat=ffffffff094614af45525d5f4f58455e445a4a421640' \
--data-raw '
'
مسیرها
app.post('/viewMaritalStatus',controller.uotmauth.viewMaritalStatus)
کنترلر
exports.viewMaritalStatus = async (req, res, next) => {
try {
const emplid = req.body.EMPLID;
console.log(emplid);
const result = await get_viewMaritalStatus_ResponseXML(emplid);
console.log('results', result);
const response = await encryptResponse({ message: 'success', data: result, status: 200 });
TransactionlogError(req.body.EMPLID, req.originalUrl, '', '', 'success');
res.send(response);
} catch (error) {
TransactionlogError(req.body.EMPLID, req.originalUrl, req.body, error, 'fail');
handleError(req, res, error);
}
};
const get_viewMaritalStatus_ResponseXML = async emplid => {
const url="https://mwuat.icicibankltd.com/v1/api/peoplesoft/viewMaritalStatus";
// SOAP XML Payload
const xmlPayload = `
1200
PS_VIEWMS
${emplid}
`;
const headers = {
SOAPAction: 'MarStatusfetch.v1',
'Content-Type': 'text/xml;charset=UTF-8',
};
try {
// Sending the SOAP Request
const response = await axiosapi.post(url, xmlPayload, { headers });
console.log(response);
console.log(response.data);
return new Promise((resolve, reject) => {
parseString(response.data, { explicitArray: false }, (err, result) => {
if (err) {
console.error('Error in parsing XML response:', err);
reject(err);
} else {
// Navigate through the XML structure to get to the SOAP Body
const data = result['XML']['soapenv:Envelope']['soapenv:Body'];
console.log('datadata:', data);
resolve(data);
}
});
});
} catch (error) {
console.error('Error in SOAP request:', error.message);
throw new Error('Failed to fetch marital status data');
}
};