2017-06-01 51 views
0

下面是我试过的代码:如何格式化参数JSON以获得SOAP响应?

fetchUserDetails: function() { 
    var url = 'http://ldniguiapp02.eur.ad.tullib.com/matchbox-forwarddeal/services/RefDataWebServices?wsdl'; 
    var args = {'args0': 
     { 
      'mnemonic':'ttan', 
      'postingId':'75655', 
      'customerId':'180816', 
      'organisation':{ 
       'customerId':'180816', 
       'firmName':'POLITICAL.GROUP' 
      }, 
      'userType':'TRADER' 
     }}; 
    var defered = q.defer(); 
    soap.createClient(url, CreateClient); 
    function CreateClient(err, client) { 
     client.getUserDetails(args, function (err, result) { 
      if (err) { 
       defered.reject(err); 
      }else{ 
       defered.resolve(result); 
      } 
      console.log(result); 
     }); 
    } 
    return defered.promise; 
} 

,并从SOAP UI相当于SOAP请求看起来是这样的:

soapUI request

如何设置格式ARGS JSON这样才能得到预期的结果?

回答

1

你应该改变你的JSON中XML

在这里,你可以做到这一点在线(检查/检验/试验)http://convertjson.com/json-to-xml.htm

和关闭当然有,不只是这一个NPM模块:

https://www.npmjs.com/package/jsontoxml

... 
var jsonxml = require('jsontoxml'); 

var xmlArgs = jsonxml(args); 
... 
client.getUserDetails(xmlArgs, function (err, result) { 
... 
}) 
... 

我希望这有助于