[Python] Como enviar paramêtros multivalorados atráves de uma requisição SOAP?

Discussão em 'Python' iniciado por Stack, Setembro 23, 2024.

  1. Stack

    Stack Membro Participativo

    Estou utilizando um WebService da TOTVS que chama uma sentença SQL. O envelope SOAP que eu envio para fazer a requisição é este abaixo:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
    <soapenv:Header/>
    <soapenv:Body>
    <tot:RealizarConsultaSQL>
    <tot:codSentenca>API.000001</tot:codSentenca>
    <tot:codColigada>0</tot:codColigada>
    <tot:codSistema>P</tot:codSistema>
    <tot:parameters>API.XMLEXTRACTOR;vCODCOLIGADA=1;vMESCOMP=5;vANOCOMP=2024;vINDIAPURACAO=1;</tot:parameters>
    </tot:RealizarConsultaSQL>
    </soapenv:Body>
    </soapenv:Envelope>


    O problema é que eu quero passar um paramêtro que não é único como os presentes em <tot:parameters>API.XMLEXTRACTOR;vCODCOLIGADA=1;vMESCOMP=5;vANOCOMP=2024;vINDIAPURACAO=1;</tot:parameters> para dentro da setença fazer uma comparação IN na consulta SQL que a API chama. Esta é a sentença "API.000001":

    SELECT PESOCIALEVENTOS.CODCOLIGADA,
    PFUNC.CHAPA,
    PFUNC.NOME,
    PFUNC.CODSECAO,
    PSECAO.DESCRICAO,
    Replace (PFUNC.CODSECAO,.,) STRINGSECAO,
    MESCOMP,
    ANOCOMP,
    INDAPURACAO,
    PESOCIALEVENTOS.MENSAGEMRETORNO
    FROM PESOCIALEVENTOS (NOLOCK)
    INNER JOIN PFUNC (NOLOCK)
    ON PFUNC.CODCOLIGADA = PESOCIALEVENTOS.CODCOLIGADA
    AND PFUNC.CODPESSOA = PESOCIALEVENTOS.CODPESSOA
    AND PFUNC.CODSITUACAO <> 'D'
    INNER JOIN PSECAO (NOLOCK)
    ON PSECAO.CODCOLIGADA = PFUNC.CODCOLIGADA
    AND PSECAO.CODIGO = PFUNC.CODSECAO
    WHERE PESOCIALEVENTOS.TIPOEVENTO = 'S-1200'
    AND PESOCIALEVENTOS.CODCOLIGADA = :vCODCOLIGADA
    AND PESOCIALEVENTOS.CODPESSOA IS NOT NULL
    AND PESOCIALEVENTOS.MESCOMP = :vMESCOMP
    AND PESOCIALEVENTOS.ANOCOMP = :vANOCOMP
    AND PESOCIALEVENTOS.INDAPURACAO = :vINDIAPURACAO

    Continue reading...

Compartilhe esta Página