Publicação Ler

SOAP utilizando asp classico

SOAP utilizando asp classico

<%

Dim objXMLHTTP : set objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0")
Dim strRequest, strResult, strFunction, strURL, strAcao

Set objFuncao = Server.CreateObject("DLLFUNCOES.Funcoes")
set objCN = Server.Createobject("DLLCONEXAO.Conexao")
Set RS = Server.CreateObject("ADODB.Recordset")

'URL to SOAP namespace and connection URL
strAcao = "https://www2.siteteste.com.br/integracao/IDados/GetInformacoes"
strURL = "https://www2.siteteste.com.br/Integracao/Dados.svc"

strRequest = "
<?xml version='1.0' encoding='utf-8' ?>
" _
& "<soapenv:Envelope xmlns:soapenv='https://schemas.xmlsoap.org/soap/envelope/' xmlns:int='https://www2.siteteste.com.br/integracao/'>
    " _
    & "<soapenv:Header xmlns:wsa='https://www.w3.org/2005/08/addressing'>
        " _
        & "<token xmlns='https://CF.Integracao'>1234567-1b23-5sd66-8888-bc62d0cac2dc</token>" _
        & "<wsa:To>https://https://www2.siteteste.com.br/Integracao/Dados.svc</wsa:To>" _
        & "
    </soapenv:Header>" _
    & "   <soapenv:Body>
        " _
        & "      <int:GetDados />" _
        & "
    </soapenv:Body>" _
    & "
</soapenv:Envelope>"

objXMLHTTP.open "post", "" & strURL & "", False

objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(strRequest)

objXMLHTTP.setRequestHeader "SOAPAction", strAcao

Call objXMLHTTP.send(strRequest)
strResult = objXMLHTTP.responseText

'DESFRAGMENTA RESULTADO PARA OBTER OS DADOS PARA TRATAR -------------------------------------------------------

dim str

'LIMPA TAGS
str = replace(strResult,"<","
<br>")
str = replace(str, "a:","")
str = replace(str, "/Nome>
<br>","")
str = replace(str, "/UF>
<br>","")
str = replace(str, "/TOEmpresa>
<br>","")
str = replace(str, "/CodigoEmpresa>
<br>","")
str = replace(str, "/Id>
<br>","")
str = replace(str, "TOEmpresa>","")
str = replace(str, ">",": ")

'LIMPA HEADER
str = replace(str, "s:Envelope xmlns:s=""https://schemas.xmlsoap.org/soap/envelope/"">
<br>","")
str = replace(str, "s:Body>
<br>","")
str = replace(str, "GetEmpresasResponse xmlns=""https://www2.siteteste.com.br/Integracao/"">
<br>","")
str = replace(str, "GetEmpresasResult xmlns:a=""https://schemas.datacontract.org/2004/07/Cf.Integracao.Negocio.TO"" xmlns:i=""https://www.w3.org/2001/XMLSchema-instance"">
<br>","")

'AJUSTA SEPARADORES
str = replace(str, "CodigoEmpresa>","CodigoEmpresa: ")
str = replace(str, "Id>","Id: ")
str = replace(str, "Nome>","Nome: ")
str = replace(str, "UF>","UF: ")

'APRESENTA UMA UNICA EMPRESA POR LINHA
str = replace(str,"
<br>","|")
str = replace(str, "CodigoEmpresa", "
<br>CodigoEmpresa")
str = replace(str, "||","")

'CRIA OS COMANDOS DE INSERT PARA A TABELA  --------------------------------------------------------------

Cd_Empresa = 0           'PODE SER DESCONSIDERADO O CÓDIGO NA TABELA TEMPORARIA
Id_Usuario = "Sistemas"

str = replace(str,"
<br>","¬")
str_array = split(str,"¬")

    'Pega o ultimo cd Empresa na tabela
    strCont = "Select Max(cd_Empresa) Valor from tabela_Empresa"
    set RSCont = objCN.consultar(strConn, strCont)

    vCd_Empresa = RSCont("Valor")

    for i = 0 to ubound(str_array)

        if trim(str_array(i)) <> "" then

            Aux_array = split(str_array(i),"|")

            Aux_array2 = split(Aux_array(2),":")
            Nome = trim(Aux_array2(1))

            Aux_array2 = split(Aux_array(3),":")
            Uf_Empresa = trim(Aux_array2(1))

            Aux_array2 = split(Aux_array(1),":")
            Cd_CF = trim(Aux_array2(1))

            str = "select count(*) novo from tabela_Empresa where cd_cf =  " & Cd_CF & ""
            set RS = objCN.consultar(strConn, str)

            if RS("novo") < 1 Then
                comandos_insert = ""
                vCd_Empresa = vCd_Empresa + 1
                Nome = Replace(Nome,"nil=""true""/>","")
                Uf_Empresa = Replace(Uf_Empresa,"nil=""true""/>","")

                StrCmd = "insert into tabela_Empresa (Cd_Empresa, Nome, Uf_Empresa, Id_Usuario, Cd_CF) values (" & vCd_Empresa & ", '" & Nome & "', '" & Uf_Empresa & "', '" & Id_Usuario & "', " & Cd_CF & ");"
                objCN.Executar strConn, strCmd

            end if

        end if

    next

%>

instagram whatsapp