使用nodejs的SOAP请求
问题描述:
嗨,任何人都可以帮助我。使用nodejs的SOAP请求
如何请求soap web服务并获取xml响应。 Senario: 使用soap ui im用用户名,密码认证发送wsdl url,我也会发送soap xml数据,并且我得到响应。 同样的事情如何使用nodejs或sails进行存档。
在SOAPUI我的SOAP XML请求就像
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tier="http://HCSLN9191-GMS.gois.ito.unisys.com/Tier1ICLStd:Tier1ICLMB_StdDispatch">
<soapenv:Header/>
<soapenv:Body>
<tier:UnisysMB_Dispatch>
<PayLoad>SomeData</PayLoad>
</tier:UnisysMB_Dispatch>
</soapenv:Body>
</soapenv:Envelope>
和我的SOAP验证就像
$用户名:XYZ &密码:XYZ
提供这个信息我得到像我的WSDL URL是 http://esbuatt1wm.ito.xyz.com:7001/ws/Tier1ICLStd_New:Tier1ICLMB_StdDispatch_New?WSDL
<ser-root:CommAck xmlns:ser-root="http://HCSLN1181-GMS.gois.ito.unisys.com/Tier1ICLStd_New:Tier1ICLMB_StdDispatch_New" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <CommAck> <MB_UUID>cbbb683d-e9b1-4d12-b0db-8006134aad27</MB_UUID> <ServiceID>McDonalds</ServiceID> <Acknowledge>0</Acknowledge> <Comment>Payload does not contain the pattermatch xpath.</Comment> </CommAck> </ser-root:CommAck>
XML响应
后我问题是如何使用节点轻松获得上述xml响应ap, 我是肥皂概念的新手。可以anyboud帮助我,给我正确的代码段用于上述塞纳里奥.....
答
您可以使用此包https://www.npmjs.com/package/soap。示例位于相同的链接中。我已经粘贴了以下一些内容:
与故宫安装:
npm install soap
例子:
var soap = require('soap');
var url = 'http://example.com/wsdl?wsdl';
var args = {name: 'value'};
soap.createClient(url, function(err, client) {
client.MyFunction(args, function(err, result) {
console.log(result);
});
});
BasicAuthSecurity
client.setSecurity(new soap.BasicAuthSecurity('username', 'password'));
嗨manishg我是新来的肥皂概念,什么将是我们需要在你的前辈那里保留的参数..? –
嗨@maheshbhagirath args是您的wsdl接受的对象。如果不需要,则发送空物体。肥皂会将该对象转换为xml。 –