2016-04-11 5 views
1

Ich bin ein SOAP WS unter http: // {{URL}} /web/wsGlbSSL.asmx?WSDL Die Funktion ist GetResultSQL und es benötigt Parameter.NODE-SOAP Fehlerbehandlung

, wenn ich tun, um diese mit einem Google Chrome App zum Beispiel, geht der Anruf perfekt vorbei:

<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>[email protected]</EMAIL></PARAM>]]></br:xmlParamsValue> 
     <br:schema>false</br:schema> 
    </br:GetResultSQL> 
</x:Body> 

aber mit Knoten js Knoten-Seife kann ich es nicht

funktioniert
var url = 'http://{{URL}}/web/wsGlbSSL.asmx?WSDL'; 
var args = { 
codUsuario: "BLA" 
,senha : "BLABLA" 
,codColigada: "0" 
,codAplicacao: "V" 
,codSentenca: "BLABLI" 
,xmlParamsValue: "<![CDATA[<PARAM><EMAIL>[email protected]</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); 
    }); 
}); 

Es gibt mir den gleichen Fehler, als wenn ich etwas falsch über Parameter von der Chrome-App übergeben. "Fehler beim Konvertieren von XML in Objekt DATASET".

+0

https://github.com/vpulim/node-soap/pull/787/files – RafaelCarmo

Antwort

0

Ok, herausgefunden, was es war. Soap-Node unterstützt CDATA nicht, also habe ich es bearbeitet, um meine CDATA zu verarbeiten.