Os serviços enviar são utilizados para enviar informações (dados estruturados) ao TCE. Este serviço substitui o envio de arquivos “.txt” estruturados do sistema e-Sfinge Desktop, que eram colocados na pasta “dados”. Para se utilizar estes serviços é necessário possuir um token válido na situação “Pronto para envio ou consulta”, independente da sua posição na fila. Para todos os assuntos a serem enviados existirá um serviço específico. Cada serviço ligado a um assunto, haverá uma operação genérica enviar. A operação enviar deve ser executada após a operação iniciarTransferencia. Ao final da operação envio, estarão presentes todos os elementos que não retornaram erro no nosso banco de dados. Para confirmar o envio dos dados deve-se usar uma das operações para cancelar (cancelarTransferencia) ou confirmar (finalizarTransferenciao) envio. Se não for chamado uma destas operações, após o tempo de time out, o sistema cancelará todo o envio (equivale a chamar a operação cancelarTransferencia). Além dos dados normais, ligados ao assunto a ser enviado, o utilizador do WSE obrigatoriamente deverá enviar um parâmetro para servir de identificação do retorno (idRetorno). Este campo deverá ter um valor diferente para cada registro dentro de uma mesma chamada do enviar. Se na mesma chamada forem enviados idRetorno iguais o sistema retornará erro de idRetorno duplicado. O idRetorno não será armazenado pelo TCE, servindo apenas de referência para o cliente do WS poder identificar qual o resultado de cada elemento enviado. Cada chamada da operação “enviar” é limitado a 5000 registros (registros = N informações de somente um assunto). Porem dependendo da velocidade da rede e do uso no momento do envio, pode ser necessário reduzir este valor para evitar timeouts. Em geral uma redução para 2000 registros por envio já resolve o problema. A seguir a definição da operação enviar: Definição: - enviar (caracteres token, inteiro competencia, Vetor de assuntos*)
Parâmetros: - token: o token recebido no serviço obterToken.
- Competência: competência bimestral no formato: AAAABB, onde:
• AAAA = ano a ser enviado os dados • BB = bimestre de 01 até 06 - Vetor de assuntos:
• idRetorno: • <Campos específicos do assunto>: a definição dos assuntos, dos campos e as regras de validação estão no documento: Leiaute do arquivo intermediário – PCASP.
Resposta (campos dados): - Lista de pares de elementos na forma idResposta e resultado do processamento do registro.
Exemplo envio do assunto lançamento contábil plano único: Definição: - enviar (caracteres token, inteiro competencia, Vetor de Lançamentos Contábeis Plano Único*)
Parâmetros: - token: o token recebido no serviço obterToken.
- Competência: competência bimestral no formato: AAAABB, onde:
• AAAA = ano a ser enviado os dados • BB = bimestre de 01 até 06 - Vetor de Lançamentos Contábeis Plano Único:
• idRetorno: • <Campos específicos dos Lançamentos Contábeis Plano Único>: a definição dos campos e as regras de validação está no documento: Leiaute do arquivo intermediário – PCASP.
Code Block |
---|
language | xml |
---|
title | Solicitação (O cabeçalho “soapenv:Header” foi omitido para simplificação da documentação): |
---|
| <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:lan="http://lanccontpu.ws.tce.sc.gov.br/">
<soapenv:Header...
<soapenv:Body>
<lan:enviar>
<token>79aad05f-f9f9-42c1-a8a8-e24f95de0d9c</token>
<competencia>201401</competencia>
<lancamentos>
<lancContPU>
<idRetorno>0</idRetorno>
<numeroControle>1</numeroControle>
<numeroSequencial>1</numeroSequencial>
<dataLancamento>2014-06-02</dataLancamento>
<codigoContaContabil>212130100</codigoContaContabil>
<contaCorrenteContabil>06710122905</contaCorrenteContabil>
<tipoLancamento>1</tipoLancamento>
<tipoMovimentoContabil>2</tipoMovimentoContabil>
<historicoLancamento>histosoap</historicoLancamento>
<valorLancamento>555.55</valorLancamento>
<indicativoEstornoLancamento>S</indicativoEstornoLancamento>
<attrSuperavitFinanc>P</attrSuperavitFinanc>
<mensagemProcessamento>vazia</mensagemProcessamento>
<codigoProcessamento></codigoProcessamento>
</lancContPU>
<lancContPU>
<idRetorno>1</idRetorno>
<numeroControle>1</numeroControle>
<numeroSequencial>1</numeroSequencial>
<dataLancamento>2010-06-02</dataLancamento>
<codigoContaContabil>212130100</codigoContaContabil>
<contaCorrenteContabil>06710122905</contaCorrenteContabil>
<tipoLancamento>1</tipoLancamento>
<tipoMovimentoContabil>2</tipoMovimentoContabil>
<historicoLancamento>histosoap</historicoLancamento>
<valorLancamento>555.55</valorLancamento>
<indicativoEstornoLancamento>S</indicativoEstornoLancamento>
<attrSuperavitFinanc>P</attrSuperavitFinanc>
<mensagemProcessamento>vazia</mensagemProcessamento>
<codigoProcessamento></codigoProcessamento>
</lancContPU>
</lancamentos>
</lan:enviar>
</soapenv:Body>
</soapenv:Envelope> |
Code Block |
---|
language | xml |
---|
title | Resposta com sucesso: |
---|
| <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:enviarResponse xmlns:ns2="http://lanccontpu.ws.tce.sc.gov.br/">
<return>
<dados>
<entry>
<key>0</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:codigoMensagem">
<codigo>0</codigo>
<mensagem>OK</mensagem>
</value>
</entry>
<entry>
<key>1</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:codigoMensagem">
<codigo>1</codigo>
<mensagem>OK</mensagem>
</value>
</entry>
</dados>
<mensagem>LANCAMENTO_CONTABIL_PU processado com sucesso</mensagem>
<status>OK</status>
</return>
</ns2:enviarResponse>
</soap:Body>
</soap:Envelope> |
Code Block |
---|
language | xml |
---|
title | Resposta com erro de validação: |
---|
| <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:enviarResponse xmlns:ns2="http://lanccontpu.ws.tce.sc.gov.br/">
<return>
<dados>
<entry>
<key>0</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:codigoMensagem">
<codigo>2012019</codigo>
<mensagem>Número de Controle já utilizado em outra data</mensagem>
</value>
</entry>
<entry>
<key>1</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:codigoMensagem">
<codigo>20351</codigo>
<mensagem>Data do lançamento deve estar no período atual da competência</mensagem>
</value>
</entry>
</dados>
<mensagem>LANCAMENTO_CONTABIL_PU processado com sucesso</mensagem>
<status>OK</status>
</return>
</ns2:enviarResponse>
</soap:Body>
</soap:Envelope> |
Vale destacar que neste exemplo, mesmo a tag ‘status’ sendo ‘OK’ os dois registros enviados não foram processados de forma correta. Ou seja, o processamento do pacote foi com status OK dados recebidos com sucesso), porem o processamento dos registros foi com falha, tag “código” diferente de 0 e tag ‘mensagem‘ diferente de ‘OK’. |