我在 http://{{URL}}/web/wsGlbSSL.asmx?WSDL 中使用 SOAP WS 该函数是 GetResultSQL,它需要参数。
例如,当我使用 Google Chrome 应用程序执行此操作时,呼叫完美通过:
<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:br="http://URL/br/">
<x:Header/>
<x:Body>
<br:GetResultSQL>
<br:codUsuario>BLA</br:codUsuario>
<br:senha>BLABLA</br:senha>
<br:codColigada>0</br:codColigada>
<br:codAplicacao>V</br:codAplicacao>
<br:codSentenca>BLABLI</br:codSentenca>
<br:xmlParamsValue><![CDATA[<PARAM><EMAIL>teste@email.com</EMAIL></PARAM>]]></br:xmlParamsValue>
<br:schema>false</br:schema>
</br:GetResultSQL>
</x:Body>
但是使用 node js node-soap 我无法使其工作
var url = 'http://{{URL}}/web/wsGlbSSL.asmx?WSDL';
var args = {
codUsuario: "BLA"
,senha : "BLABLA"
,codColigada: "0"
,codAplicacao: "V"
,codSentenca: "BLABLI"
,xmlParamsValue: "<![CDATA[<PARAM><EMAIL>teste@email.com</EMAIL></PARAM>]]>"
,schema: "false"
};
soap.createClient(url, args, function(err, client) {
if(err){
console.log(err);
console.log('########## Erro ao criar cliente ##########');
return;
}
client.GetResultSQL(args, function(err, result) {
if(err){
console.log(err); //this is always thrown
console.log('########## Erro ao consumir servico ##########');
return;
}
console.log(result);
});
});
它给了我同样的错误,就好像我在 chrome 应用程序的参数上传递了错误一样。“无法将 XML 转换为对象数据集”。