web-dev-qa-db-fra.com

Faire une demande à SOAP endpoint en utilisant axios

J'ai besoin de faire une demande à SOAP endpoint en utilisant axios dans mon React application. Par conséquent, je dois transmettre des données xml dans la demande et recevoir des données xml en réponse.

J'ai utilisé la publication axios avec des données json, mais comment utiliser la même chose pour xml? PFB le code que j'utilise pour la même chose, mais cela ne fonctionne pas.

Demande de publication JSON:

var xmlData = <note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

var config = {
  headers: {'Content-Type': 'text/xml'}
};

axios.post('/save', xmlData, config);

Veuillez partager si vous avez une expérience avec cela, TIA.

7
Vishal Gulati
let xmls='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"\
                            xmlns:web="http://www.webserviceX.NET/">\
            <soapenv:Header/>\
            <soapenv:Body>\
              <web:ConversionRate>\
                <web:FromCurrency>INR</web:FromCurrency>\
                <web:ToCurrency>USD</web:ToCurrency>\
              </web:ConversionRate>\
            </soapenv:Body>\
          </soapenv:Envelope>';

axios.post('http://www.webservicex.com/CurrencyConvertor.asmx?wsdl',
           xmls,
           {headers:
             {'Content-Type': 'text/xml'}
           }).then(res=>{
             console.log(res);
           }).catch(err=>{console.log(err)});

Ce code aide à faire une demande de savon

8
Anuragh KP

J'ai utilisé la réponse de @Anuragh KP mais avec un en-tête SOAPAction

axios.post('https://wscredhomosocinalparceria.facilinformatica.com.br/WCF/Soap/Emprestimo.svc?wsdl',
           xmls,
  {headers:
  {
    'Content-Type': 'text/xml',
    SOAPAction: 'http://schemas.facilinformatica.com.br/Facil.Credito.WsCred/IEmprestimo/CalcularPrevisaoDeParcelas'}
  }).then(res => {
    console.log(res)
  }).catch(err => {
    console.log(err.response.data)
  })
3
Christian Saiki