estou tentando acessar o webservice abaixo
enviando um xml e aguardando retorno em xml
so que esta retornando em branco
alguem poderia me ajudar onde posso estar errando
Código: Selecionar todos
Function Gera_Elegibilidade()
local cCnpj := "28763118000190"
local cTerminal := "003"
local cAutentica := "51131212"
local cProjeto := "SAN001"
local cTimestamp := STRTRAN(DTOC(date()),"/","") + STRTRAN(time(),":","")
local cNcartao := "4116680730400158"
local cCpf := "0"
local cNsu := "60" //-- numero da transacao
local cCanal := "''"
//-- verifica se ha conexão com a internet
IF(!IsInternet())
MsgInfo("Necessário conexão com internet."+CRLF+"Operação cancelada","Informação")
RETURN(.f.)
ENDIF
//-- Abertura das funções para WebService do xharbour - objeto HTTP
try
http := CreateObject( "MSXML2.XMLHTTP" )
catch
try
http := CreateObject( "MSXML2.XMLHTTP" )
catch
Msg("Erro na criação do objeto MSXML2.XMLHTTP : " + Ole2TxtError())
end
end
//-- cria objeto xml
try
doc := CreateObject( "MSXML2.DOMDocument" )
catch
try
doc := CreateObject( "MSXML2.DOMDocument" )
catch
Msg("Erro na criacao do objeto MSXML2.DOMDocument : " + Ole2TxtError())
return NIL
end
end
//-- XML request
cXMlBody := '<?xml version="1.0" encoding="utf-8"?>' +;
'<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">' +;
' <soap12:Body>' +;
' <WS_Eleg_Portador xmlns="http://tempuri.org/">' +;
' <cIdentifica><identifica><cnpj>' + cCnpj + '</cnpj><terminal>' + cTerminal + '</terminal><autentica>' + cAutentica + '</autentica></identifica></cIdentifica>'+;
' <cProjeto>' + cProjeto + '</cProjeto>' +;
' <cTimestamp>' + cTimestamp + '</cTimestamp>' +;
' <cCartao>' + cNcartao + '</cCartao>' +;
' <nCPF>' + cCpf + '</nCPF>' +;
' <cCanal>' + cCanal + '</cCanal>' +;
' </WS_Eleg_Portador>' +;
' </soap12:Body>' +;
'</soap12:Envelope>'
//-- endereço WebService
http:Open( "POST" , "http://www.conectapdv.com.br/concentrador/concentrador.asmx?wsdl" , .f. )
http:SetRequestHeader( "Host" , "www.conectapdv.com.br" )
http:SetRequestHeader( "Content-Type" , "text/xml; charset=utf-8" )
http:SetRequestHeader( "SOAPAction" , "http://tempuri.org/WS_Eleg_Portador" )
//-- Carrega o request
doc:LoadXML( cXmlBody )
IF doc:parseError:errorCode != 0
lcErrorMsg = "Não foi possível carregar o documento pois ele não corresponde ao seu Schema"
lcErrorMsg += " Linha: " + STR(doc:parseError:line)
lcErrorMsg += " Caractere na linha: " + STR(doc:parseError:linepos)
lcErrorMsg += " Causa do erro: " + doc:parseError:reason +"code: "+STR(doc:parseError:errorCode)
msg(lcErrorMsg)
Return Nil
ENDIF
//-- Envia o request
TRY
http:Send( doc:xml )
CATCH oError
msg("Falha de envio "+HB_OsNewLine()+ ;
"Error: " + Transform(oError:GenCode, nil) + ";" +HB_OsNewLine()+ ;
"SubC: " + Transform(oError:SubCode, nil) + ";" +HB_OsNewLine()+ ;
"OSCode: " + Transform(oError:OsCode, nil) + ";" +HB_OsNewLine()+ ;
"SubSystem: " + Transform(oError:SubSystem, nil) + ";" +HB_OsNewLine()+ ;
"Mensangem: " + oError:Description )
END
//-- Recebe o response
response = http:responseText
//-- Cria o arquivo temporário e armazena o XML retornado
oText:= TTxtFile():New( "retorno.xml" )
If oText:Open()
oText:add(alltrim(response))
Endif
oText:close()
Return Nilutilizo o windows 7 , acho que ja tem instalado este pacote..


