shipping7 / correios-java-sdk

Correios Java SDK
https://shipping7.github.io/correios-java-sdk/
MIT License
33 stars 16 forks source link

Busca de detalhes no Rastreio está considerando chamadas anteriores #94

Closed gabriellimagomes closed 6 years ago

gabriellimagomes commented 6 years ago
// código SDK
if (codigosDeRastreio != null && !codigosDeRastreio.isEmpty()) {
    return new SoapCorreiosServicoRastreioApi(credentials, new Rastro().getServicePort(), converter).buscaDetalhesRastreio(codigosDeRastreio, idioma, resultado, LISTA_DE_OBJETOS);
} else if (StringUtils.isNotEmpty(codigoDeRastreio)) {
    return new SoapCorreiosServicoRastreioApi(credentials, new Rastro().getServicePort(), converter).buscaDetalhesRastreio(codigoDeRastreio, idioma, resultado, LISTA_DE_OBJETOS);
}

Como codigosDeRastreio e codigoDeRastreio são atributos da Classe CorreiosRastreioAPI, se ela for construída uma única vez para todas as chamadas, então uma chamada anterior poderia impactar na próxima chamada como nesse caso:

//Caso de uso
DetalhesRastreio detalhesRastreio = correiosApi.buscaPacotesRastreadosPelaListaDeTrackings(Arrays.asList("PO885187892BR","PN210491273BR","DU698173525BR")).comRetornoEmPortugues().somenteUltimoEvento().getDetalhesRastreio();

DetalhesRastreio detalhesRastreio2 = correiosApi.buscaPacoteRastreadoUsandoOCodigo("PN210491273BR").comRetornoEmPortugues().somenteUltimoEvento().getDetalhesRastreio();
ericdallo commented 6 years ago

Ainda está acontecendo esse problema por causa da concorrência das chamadas