NODE-SOAP错误处理

时间:2016-04-11 21:21:49

标签: node.js web-services soap soap-client node-soap

我在http:// {{URL}} /web/wsGlbSSL.asmx?WSDL中使用SOAP WS 该函数是GetResultSQL,它需要参数。

当我使用谷歌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>

但是使用节点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应用程序传递参数错误一样。 &#34;无法将XML转换为对象DATASET&#34;。

1 个答案:

答案 0 :(得分:0)

好的,发现它是什么。 Soap-node不支持CDATA,所以我编辑它来处理我的CDATA。