2017-03-09 163 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。 –