How To Send A SOAP Request In Javascript, Like In SoapUI
I am currently working on a NodeJS project where I need to use some soap/xml/wsdl. The problem is that can't figure out how any of these works, so forgive my ignorance. Here is wha
Solution 1:
You can use easy-soap-request
,and this article https://medium.com/@caleblemoine/how-to-perform-soap-requests-with-node-js-4a9627070eb6 may help. It is just a thin wrapper of axios.
My code for your question:
const soapRequest = require('easy-soap-request');
const url = 'https://wsiautor.uni-login.dk/wsiautor-v4/ws';
const headers = {
'Content-Type': 'application/soap+xml;charset=UTF-8',
'soapAction': 'https://wsiautor.uni-login.dk/hentDataAftaler',
};
// example data
const xml = `
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:uni="https://uni-login.dk">
<soap:Header/>
<soap:Body>
<uni:hentDataAftaler>
<uni:wsBrugerid>?</uni:wsBrugerid>
<uni:wsPassword>?</uni:wsPassword>
</uni:hentDataAftaler>
</soap:Body>
</soap:Envelope>
`;
// usage of module
soapRequest(url, headers, xml).then(({response: {body, statusCode}}) => {
console.log(body);
console.log(statusCode);
}).catch((errorBody) => {
console.error(errorBody);
});
Solution 2:
It may be useful to someone in the future:
Change this (url, headers, xml)
to ( {url, headers, xml})
Solution 3:
for those who get an error after following @aristoll answer. Try this, its gonna work
before
soapRequest(url, headers, xml).....
after
soapRequest({url, headers, xml})......
Post a Comment for "How To Send A SOAP Request In Javascript, Like In SoapUI"