2016-01-06 21 views
0

我遇到了从Node.js SOAP module暴露SOAP结果的问题。节点SOAP请求成功但无法公开对象

以下代码成功进行验证的汤请求。

var soap = require('soap'); 
var url = 'http://example.com/soap.php?wsdl'; 
var args = {SecurityToken: '123abc456def789'}; 

soap.createClient(url, function(err, client) { 
    client.GetAllMarketAreas(args, function(err, result){ 
    console.log(result); 
    }); 
}); 

但执行console.log返回如下:

{ GetAllMarketAreasResult: { ROOT: { METHODINFO: [Object], DATA: [Object] } } } 

我假设的数据被发送回,我只是无法通过在控制台中参考进行查看。登录。这听起来是否正确,如果是这样,我将如何通过Node的解析公开日期?

SOAP响应似乎是如果通过SoupUI做到以下几点:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.eventinventory.com/webservices/"> 
    <SOAP-ENV:Body> 
    <ns1:GetAllMarketAreasResponse> 
    <ns1:GetAllMarketAreasResult> 
     <ROOT> 
      <METHODINFO> 
       <channelName>Basic View</channelName> 
       <methodName>GetAllMarketAreas</methodName> 
       <parameters>SecurityToken=123abc456def789</parameters> 
       <processTime type="milliseconds">20.8221</processTime> 
      </METHODINFO> 
      <DATA xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
       <row ID="0" Name="International/Unknown"/> 
       <row ID="1" Name="Calgary, AB"/> 
       <row ID="4" Name="Abilene, TX"/> 
       <row ID="6" Name="Aguadilla, PR"/> 
       <row ID="7" Name="Boston, MA"/> 
       ... 

所以我的最终目标是通过在节点JS JSON对象来查看数据。

回答

2

您可以使用内置的util库的inspect方法来反思这些对象。

var util = require('util') 

... 

console.log(util.inspect(result)) 

你可以通过命令的界面搞乱深度,颜色等。