2017-03-09 139 views
1

嗨,任何人都可以帮助我。使用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帮助我,给我正确的代码段用于上述塞纳里奥.....

回答

1

您可以使用此包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')); 
+2

嗨manishg我是新来的肥皂概念,什么将是我们需要在你的前辈那里保留的参数..? –

+0

嗨@maheshbhagirath args是您的wsdl接受的对象。如果不需要,则发送空物体。肥皂会将该对象转换为xml。 –