2016-04-11 32 views
1

http:// {{URL}} /web/wsGlbSSL.asmx?WSDLでSOAP WSを消費しています。この関数はGetResultSQLであり、パラメータが必要です。NODE-SOAPエラー処理

私は、たとえば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>[email protected]</EMAIL></PARAM>]]></br:xmlParamsValue> 
     <br:schema>false</br:schema> 
    </br:GetResultSQL> 
</x:Body> 

が、ノードJSノード石鹸で私はそれが

を動作させることはできません
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); 
    }); 
}); 

これは、私がchrome appによってパラメータに何か間違ったものを渡すのと同じエラーを返します。 "XMLをオブジェクトDATASETに変換できません"。

+0

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

答えて

0

いいえ、それが何であるかを見つけました。 ソープノードはCDATAをサポートしていないので、私はそれを編集してCDATAを処理します。