使用 axios 向 SOAP 端点发出请求
Posted
技术标签:
【中文标题】使用 axios 向 SOAP 端点发出请求【英文标题】:Make request to SOAP endpoint using axios 【发布时间】:2018-02-09 00:27:26 【问题描述】:我需要在我的React
应用程序中使用axios
向SOAP 端点发出请求。因此,我需要在请求中传递 xml 数据并在响应中接收 xml 数据。
我已将 axios 帖子与 json 数据一起使用,但我如何将其用于 xml? PFB 我使用的代码相同,但它不起作用。
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);
如果您对此有任何经验,请分享,TIA。
【问题讨论】:
你试过了吗:headers: 'Content-Type': 'application/xml'
@DrunkDevKek :是的,我做了,没用!
您是否收到任何错误消息?也许您可以扩展您的意思,即它不起作用。
我要到星期一才离开,回来时会分享错误日志!谢谢。
看起来你的 xmlData 是错误的 - 它应该是这样的: 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));
此代码有助于发出肥皂请求
【讨论】:
好的解决方案和最佳答案。感谢您在 *** 中的回答【参考方案2】:我使用了@Anuragh KP 的答案,但带有 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)
)
【讨论】:
以上是关于使用 axios 向 SOAP 端点发出请求的主要内容,如果未能解决你的问题,请参考以下文章
在 Express.js 上使用 Axios 向 Spotify API 发出 POST 请求时出现错误 400
使用 axios 向服务器发出请求会冻结 React Native 应用程序