[英]Error when trying to get information SOAP from Node.js
这在php上工作正常,但在node.js上却没有,我遇到以下错误(我为clientlink替换了实际服务,我不是节点专家,所以我不知道从哪里开始,谢谢对于一切!
正文:'\\ r \\ n \\ t \\ r \\ n \\ t \\ t \\ r \\ n \\ t \\ t \\ tsoap:服务器\\ r \\ n \\ t \\ t \\ t错误响应(来自clientlink / soap的代码500:<soap :Enve lope xmlns:soap =“ http://schemas.xmlsoap.org/soap/envelope/"><soa p:Body> <soap:Fault> <faultcode> soap:Client </ faultcode> <fa ultstring>解组错误:意外元素(uri:“ clientlink”,本地:“ callerIp”)。期望的元素是&lt; {} enterpriseActorId>,&lt; {} onBelhalfOfId>,&am p; {{} externalClientId>,&lt; {} callerIp>,&lt; {} actorId>,&lt; {} agencyIdLong>,&lt; {} onBehalfOfId>,&lt; {} applicationId>,&lt; {} actionId>,&lt; {} agencyId> </ faultstring> < / soap:Fault> </ soap:Body> </ soap:Envelope> \\ n \\ r \\ n \\ t \\ t \\ r \\ n \\ t \\ r \\ n'},
节点上的代码是:
var url = 'clientlink';
var args = {
"context": {
"appToken": 'MEGATOKEN'
},
"version": 1.0
};
soap.createClient(url, function(err, client) {
if (err) {
console.log(err);
callback(err);
return
}
client.getEvents(args, function(err, result) {
if (err) {
console.log(err);
callback(err);
return;
}
console.log(result);
});
});
php上的代码工作正常!
$soapClient = new SoapClient('clientlink');
$params['context']['appToken'] = 'MEGATOKEN';
$params['version'] =1.0;
$info = $soapClient->__call('getEvents', array($params));
感谢您阅读第二个谢谢!! :)
首先使用describe()
查看可用的远程服务方法。
//...
soap.createClient(url, function(err, client) {
if (err) {
// ...
} else {
client.describe();
}
});
这是client.describe()
的输出示例:
{
MyService: {
MyPort: {
getEvents: {
input: {
name: 'string'
}
}
}
}
}
然后,您可以像这样调用getEvents()
:
//...
soap.createClient(url, function(err, client) {
if (err) {
// ...
} else {
client.MyService.MyPort.getEvents({name: 'value'}, function(err, result) {
// ...
});
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.