Node.js 节点SOAP未返回预期结果
我试图使用节点soap连接到第三方web服务,但每当我使用web服务中的方法时,我都会得到一个巨大的对象,而不是正确响应的数据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)
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
是否检查了结果对象以获得所需的响应?谢谢您的帮助。请检查我的编辑,我想这可能是问题所在。