Objetivo

Esse acesso permite que se consulte o CDL-BH trazendo dados pessoais e fazendo uma análise de risco.

Registro
Configurando o acesso

Para a execução desse acesso externo a partir da linha de comando, deve-se informar inicialmente, por indicação à JVM, o path onde é encontrado o arquivo de propriedades e o arquivo de configuração do log4j.

A linha de comando para a execução do acesso é:

 

java -Dlog4j.configuration=log4j.properties -Dcdl-bh.datadir=/Tools/ws_acessos_externos/project-cdl-bh -jar poject-cdl-bh.jar
Usando a execução acima, não esqueça de colocar no CLASSPATH todas as dependências.
Propriedades do acesso

Inicialmente o Arquivo de Propriedade 'cdlbh.properties‘ contido dentro do ‘.jar‘ do arquivo já está configurado corretamente, porém essas informações podem ser alteradas pelo órgão.

Conteúdo inicial do arquivo:

 

##listar o arquivo de propriedades com os dados que serão consultados 
#cdlbh.ip=200.189.1.62
#cdlbh.porta=3339
cdlbh.ip=200.189.1.62
cdlbh.porta=28001
# timeout do socket (da conexao) em milisegundos
cdlbh.socket_timeout=30000
  
##Configuracoes do acesso
cdlbh.codtransacao=SPC100
cdlbh.codestacao=
cdlbh.versao=011
cdlbh.meioacesso=20
cdlbh.codoperador=0001080074
cdlbh.senha=02022012
cdlbh.codproduto=03
cdlbh.tpresposta=A

 

Onde as Propriedades representam:

As duas Propriedade IP e Porta representam o meio de acesso ao Órgão.

 

Entrada e Saída do Acesso

Variáveis de Entrada
 

Resposta da Consulta

Código de Serviço 05
 
Código de Serviço 99
 
Registros Disponíveis
 

 

<saida id="REG86" counter="REG86_NUMOCORRENCIAS" >
    <register description="Codigo de servico" type="String" format="">REG86_CODSERVICO_</register>
    <register description="Endereco" type="String" format="">REG86_ENDERECO_</register>
    <register description="Complemento" type="String" format="">REG86_COMPLEMENTO_</register>
    <register description="Bairro" type="String" format="">REG86_BAIRRO_</register>
    <register description="Cidade" type="String" format="">REG86_CIDADE_</register>
    <register description="CEP" type="String" format="">REG86_CEP_</register>
    <register description="UF" type="String" format="">   REG86_UF_</register>
</saida>

 

  • Exemplo ‘sem‘ um contador… neste caso, ‘counter=”"‘ indica que somente um registro, se existir, foi retornado pela CDL-BH.

 

<saida id="REG80" counter="" >
        <register description="Codigo de servico" type="String" format="">REG8O_CODSERVICO</register>
        <register description="Nome do Assinante" type="String" format="">REG8O_ASSINANTE</register>
        <register description="Tipo de Logradouro" type="String" format="">REG8O_TPLOGRADOURO</register>
        <register description="Endereco" type="String" format="">REG8O_ENDERECO</register>
        <register description="Numero" type="String" format="">REG8O_NUMERO</register>
        <register description="Cidade" type="String" format="">REG8O_CIDADE</register>
        <register description="Bairro" type="String" format="">REG8O_BAIRRO</register>
        <register description="CEP" type="String" format="">REG8O_CEP</register>
        <register description="UF" type="String" format="">REG8O_UF</register>
</saida>

 

  • ‘Código de serviço 06‘ – Resposta de Grafia PJ.
  • ‘Código de serviço 10‘ – Resposta de SPC.
    1. n = REG10_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 20‘ – Resposta de Cheque.
    1. n = REG20_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 25‘ – Resposta de Banco, Agencia, Conta Corrente com Documento Diferente do Consultado.
    1. n = REG25_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 26‘ – Resposta de Dados da Agência Bancária do Cheque Consultado.
    1. n = REG26_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 27‘ – Resposta de informação on-line da Instituição Financeira – mensagem.
    1. n = REG27_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 28‘ – Resposta de informação on-line da Instituição Financeira – Cheque Sustado.
    1. n = REG28_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 30‘ – Resposta de Protestos.
    1. n = REG30_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 40‘ – Resposta de Ações.
    1. n = REG40_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 50‘ – Resposta de Credito Concedido.
    1. n = REG50_NUMCONSULTAS – contador do número de ocorrências
  • ‘Código de serviço 60‘ – Resposta de Alerta
    1. n = REG60_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 70‘ – Resposta de Consultas Realizadas (Passagens).
    1. n = REG70_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 80‘ – Resposta de Dados Telefônicos.
    1. n = REG80_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 84‘ – Resposta de Telefones Vinculados ao Documento Consultado.
    1. n = REG84_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 85‘ – Resposta de Dados Telefônicos Informados Anteriormente para o documento consultado.
    1. n = REG85_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 86‘ – Resposta de Dados de Últimos Endereços Informados para o documento consultado.
    1. n = REG86_NUMCONSULTAS – contador do número de ocorrências
  • ‘Código de serviço 88‘ – Resposta de Contra-Ordem a Cheques com Agências Diferentes da Consultada.
    1. n = REG88_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 89‘ – Resposta de Contra-Ordem a Cheques com Agência/Conta Diferentes da Consultada.
    1. n = REG89_NUMCONSULTAS – contador do número de ocorrências
  • ‘Código de serviço 90‘ – Resposta de Contra-Ordem a Cheques com Documentos Diferente do Consultado.
    1. n = REG90_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 92‘ – Resposta de Cheque Sustado p/Motivo 21 => Contumácia – máximo de 10 ocorrências Esta informação não é desabonadora ao cliente.
    1. n = REG92_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 95‘ – Resposta de Síntese Cadastral.
  • ‘Código de serviço 96‘ – Sócios Proprietários da Pessoa Jurídica.
    1. n = REG96_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 97‘ – Participação Societária da Pessoa Física.
    1. n = REG97_NUMCONSULTAS – contador do número de ocorrências.
  • ‘Código de serviço 98‘ – Reposta da Garantia de Cheque.
    1. n = REG98_NUMCONSULTAS – contador do número de ocorrências.

 Exemplo de código fonte
 
HashMap<String, Object> in = new HashMap<String, Object>();
HashMap<String, Object> out = new HashMap<String, Object>();
ConsultaCdlBh cdl = new ConsultaCdlBh();
  
in.put("TPDOCUMENTO","1");
in.put("CPFCNPJ","07607413790");
in.put("RG","                ");
in.put("ORIGEMCHEQUE"," ");
in.put("CODBANCO","000");
in.put("CODAGENCIA","0000");
in.put("NUMCC","               ");
in.put("DIGITOCC","  ");
in.put("NUMCHEQUEINICIAL" , "000000");
in.put("DIGITOCHEQUEINICIAL","0");
in.put("CMC7","000000000000000000000000000000");
in.put("QUANTCHEQUES",00);
in.put("VALORGARANTIA" ,Double.parseDouble("000000000000")) ;
in.put("TPCREDITO","  ");
in.put("INTERVALOPARCELAS" ,Integer.parseInt("000"));
Date data= UtilData.getDate("01/01/1900", UtilData.SHORTDATE);
in.put("DTVENCIMENTOPRIMEIRAPARCELA", data);
in.put("QTPARCELAS",0);
in.put("VALORTOTALOPERACAO", Double.valueOf("000000000000"));
in.put("CEPORIGEM","00000000");
in.put("DDD" , "000");
in.put("TELEFONE","0000000000");
in.put("DTABERTURACC",data);
in.put("PRACACOMPENSACAOCHEQUE","000");
in.put("NUMAUTORIZACAOCHEQUE","00000000");
in.put("CODCANCELAMENTOCHEQUE","00");
  
try {
    out = ConsultaCdlBh.execute(in);
  
    Iterator<String> ele = out.keySet().iterator();
        while (ele.hasNext()) {
            String valueHash = (String) ele.next();
            String msg = "[" + valueHash + "] >> [" + out.get(valueHash) + "]";
            log.info(msg);
    }
}catch (InfraException e) {
    log.error("O serviço da CDL-BH encontra-se indisponível");
    log.debug(e.getMessage());
} catch (LayoutException e) {
    log.error("Existe diferença entre o layout enviado a CDL-BH e o esperado pelo órgão");
    log.debug(e.getMessage());
} catch (ConfigException e) {
    log.error("Existe um erro na configuração do serviço: " + e.getMessage());
    log.debug(e.getMessage());
}catch(Exception e){
    log.error("Existe um erro na configuração do serviço: " + e.getMessage());
    log.debug(e.getMessage());
} finally {
    log.debug("<<TesteCDL-BH.process()");
    log.info("Finalizou a execução do acesso a CDL-BH");
}