Uso do PASSOE no OE12

Discussão em 'EMS , HCM e Totvs 11' iniciado por Marcos Flizikowski, Julho 7, 2023.

  1. Marcos Flizikowski

    Marcos Flizikowski Membro Participativo

    Bom dia a todos,

    Temos uma aplicação desenvolvida no NOTES que faz request no TOTVS para buscar informações e gravar informações no TOTVS.
    No OE11 com o app-server o processo esta funcionando ok, mas com OE12 usando o PassOE estamnso tendo problemas conforme abaixo.
    Alguém consegue me dar uma luz para entender como podemos resolver estes problemas?
    Agradeço;


    Versão 11:

    No retorno do XML (msxml2.xmlhttp) temos: (Note que o retorno está indentado)


    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd=http://www.w3.org/2001/XMLSchema>
    <SOAP-ENV:Body>
    <apb0030deResponse xmlns=http://emsaix01/notes-DNBR/notes-DNBR>
    <result xsi:nil="true"/>
    <ttViajante>
    <ttViajanteRow>
    <codFornecedor>53594</codFornecedor>
    <cpf>02847585907</cpf>
    <rg></rg>
    <nome>DANIEL KOHLER</nome>
    <codTipFluxoFinanc>954</codTipFluxoFinanc>
    <codBanco>237</codBanco>
    <nomBanco>BANCO BRADESCO S/A</nomBanco>
    <agencia>000049</agencia>
    <conta>0000519504</conta>
    <digConta>7</digConta>
    </ttViajanteRow>
    </ttViajante>

    </apb0030deResponse>

    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


    Versão 12:

    No retorno do XML (msxml2.xmlhttp) temos:


    <SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance><SOAP-ENV:Header/><SOAP-ENV:Body><apb0030deResponse xmlns="urn:notes:notes-DNBR"><result xsi:nil="true"/><ttViajante><ttViajanteRow><codFornecedor>53594</codFornecedor><cpf>02847585907</cpf><rg></rg><nome>DANIEL KOHLER</nome><codTipFluxoFinanc>954</codTipFluxoFinanc><codBanco>237</codBanco><nomBanco>BANCO BRADESCO S/A</nomBanco><agencia>000049</agencia><conta>0000519504</conta><digConta>7</digConta></ttViajanteRow></ttViajante></apb0030deResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>


    Ao receber o retorno do SOAP o Lotus Notes possui como logica a utilização do XML para validar e preencher os campos com o resultado da consulta acima porem ao executa os comandos abaixo recebemos um erro na formação do objeto XML, note que a criação do objeto independe de ser uma função especifica do Lotus Notes mas sim do próprio objeto Microsoft XML, vide abaixo parte do código.


    ...Criamos o objeto do tipo XMLHTTP a ser enviado para o WebService (OK)

    Set oXML = CreateObject("msxml2.xmlhttp")

    Call oXML.Open ("POST", doc.url(0), False)

    Call oXML.setRequestHeader("Content-Type", "text/xml;charset=utf-8")

    Call oXML.setRequestHeader("SOAPAction", "buscaViajantePorCpf")

    Call oXML.setRequestHeader("Accept-Encoding", "gzip,deflate")



    strXML = "<?xml version='1.0' encoding='UTF-8'?> <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:not='http://" & doc.host(0) & "'>" & _

    "<soapenv:Header/>" & _

    "<soapenv:Body><not:apb0030de>" & _

    "<not:pCpf>" & CPF & "</not:pCpf>" & _

    "</not:apb0030de></soapenv:Body></soapenv:Envelope>"


    ... Envio do XML para o WebService em modo SOAP (OK)

    Call oXML.send(strXML)

    … Atribui o resultado da consulta em mondo texto na variável strResponse (OK)

    strResponse = oXML.responseText



    ... Criamos o objeto em modo XMLDOM (OK)

    Set xml_dom = CreateObject("Microsoft.XMLDOM")



    … O retorno responseXML deve conter algo divergente nesta versão pois o objeto root que contem a arvore XML não é gerada. Note que a consulta acima utilizando a opção responseText ocorre sem nenhum problema.

    Set xml_dom = oXML.responseXML

    Set root = xml_dom.documentElement


    … Na linha abaixo o erro ocorre devido a erros na formação do objeto root

    Print “Valor:” root.childNodes.Item(0).childNodes.Item(0).childNodes.Item(1).Text



    Outra validação que realizamos é que se criamos um arquivo .xml com o conteúdo do objeto (oXML.responseText) removendo o item “<SOAP-ENV:Header/>” o objeto root é gerado.

    Em resumo, na versão 12.2.10 o objeto responseXML contem algo divergente da versão 11.7 a qual funciona corretamente.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Meu caro, uma duvida cruel agora, desculpe não ser a resposta para o seu topico, mas pelo que me informaram, mesmo no OE12, o appserver vai continuar funcionando, a totvs que optou em usar o PassOE como ferramenta deles, então, se for assim, vc não precisa mudar a sua infra, não é correto isso ?
  3. Marcos Flizikowski

    Marcos Flizikowski Membro Participativo

    Então o app-server vai existir no OE12, mas a Progress não irá dar suporte mais para o app-server se tiver problemas com o app-server não terá suporte nem da TOTVS e nem da Progress.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Então do que adianta manter a ferramenta né ? deve ser só pra dar um tempo pra migrar.
  5. Marcos Flizikowski

    Marcos Flizikowski Membro Participativo

    Então o app-server vai existir no OE12, mas a Progress não irá dar suporte mais para o app-server se tiver problemas com o app-server não terá suporte nem da TOTVS e nem da Progress.
    Bem isto.
  6. Cneves

    Cneves Membro Participativo

    Boa tarde,

    Aproveitando o assunto será que pode dar uma ajuda?
    Estou fazendo a migração de um Serviço para o SOAP do PASOE, porém estou com o erro abaixo. Olhando o propath do AppServer o diretório que está o programa.

    Precisa colocar o programa que o serviço vai buscar em algum outro lugar em especifico?

    2023-07-27T11:00:28.372-03:00 ERROR [thd-5] ROOT:s:00000005 c.p.a.a.c.soap.ExchangeSOAPProcessor - SOAP Processing Exception. Request Id: '593bf976-7ca9-4552-8827-2a01f3b5be4d', 'The adapter detected an internal application error.. Procedure: 'wsTestaServico.p'. ERROR condition: ** "wsTestaServico.p" was not found.

    Se puder me ajudar? Agradeço.

Compartilhe esta Página