Node.js 节点SOAP未返回预期结果

Node.js 节点SOAP未返回预期结果,node.js,soap,node-soap,Node.js,Soap,Node Soap,我试图使用节点soap连接到第三方web服务,但每当我使用web服务中的方法时,我都会得到一个巨大的对象,而不是正确响应的数据 var soap = require('soap'); var soapWSDL = "https://staging.refcheckadvanced.co.za/RefCheck_Integrator/services/v2/RefCheck.svc?wsdl"; soap.createClient(soapWSDL, function (err, client)

我试图使用节点soap连接到第三方web服务,但每当我使用web服务中的方法时,我都会得到一个巨大的对象,而不是正确响应的数据

var soap = require('soap');
var soapWSDL = "https://staging.refcheckadvanced.co.za/RefCheck_Integrator/services/v2/RefCheck.svc?wsdl";

soap.createClient(soapWSDL, function (err, client) {
if (err) throw err;
    client.IsHealthy({}, function(err,result) {
        console.log(result);
    });
});
有人知道我做错了什么吗

PHP SOAP信封:

    <SOAP-ENV:Body>
        <ns1:IsHealthy/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
    <soap:Body>
        <tns:IsHealthy xmlns:tns="http://tempuri.org/" xmlns="http://tempuri.org/">
        </tns:IsHealthy>
</soap:Body>
</soap:Envelope>

节点SOAP信封:

    <SOAP-ENV:Body>
        <ns1:IsHealthy/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
    <soap:Body>
        <tns:IsHealthy xmlns:tns="http://tempuri.org/" xmlns="http://tempuri.org/">
        </tns:IsHealthy>
</soap:Body>
</soap:Envelope>


有没有办法将节点soap配置为使用与PHP相同的格式?

wsdl是动态生成的还是静态生成的?它对我起了短暂的作用

我的回答是:
{IsHealthyResult:'2015/02/03 11:56:48 AM'}

但现在,当我尝试节点soap时,会抛出一个错误(您无法处理)

尝试此操作,您(可能)会看到设置了
err

soap.createClient(soapWSDL, function (err, client) {
if (err) throw err;
    client.IsHealthy({}, function(err,result) {
        if (err) {
            console.log(err.message);
        } else {
            console.log(result);
        }
    });
});
返回:
无法读取未定义的属性“Body”

尝试使用(跨平台)或(Windows+Visual Studio)进行调试

您将看到节点soap在
\lib\client.js:183
中捕获异常,并在回调中设置错误。为什么它对我起了短暂的作用我不知道=P


但是它提醒您始终检查回调中的
err

是否检查了结果对象以获得所需的响应?谢谢您的帮助。请检查我的编辑,我想这可能是问题所在。