Causas de “A origem do relatório não pode ser recuperada do objeto de estado”.

1

Postou isso no SO também, mas achei que é mais provável que seja um problema de configuração do servidor, então espero que alguém saiba o que está acontecendo aqui.

Eu tenho um sistema legado que tem um servidor CMS configurado para gerar o Crystal Reports, todos do mesmo banco de dados. Os usuários inserirão os parâmetros necessários em um aplicativo de front-end, que o transmitirá ao CMS para gerar o relatório em uma página do CrystalReportViewer.jsp. Os títulos do relatório, conforme mostrado no console do CMC e no InfoView, são os seguintes:

PersonnelDetailsA
PersonnelDetailsB
PersonnelDetailsC

Após uma atualização recente do aplicativo (que não tocou na funcionalidade do Crystal Report), os usuários relataram que não conseguiram gerar um relatório para o PersonnelDetailsB (A e C estavam funcionando bem). A mensagem de erro que eles receberam foi

Report source could not be retrieved from the state object

Depois de algumas pesquisas e tentativa e erro em nossa configuração de desenvolvimento, descobri que o erro foi causado pelo fato de o CMS não conseguir localizar o relatório solicitado, portanto, minha hipótese imediata e, na verdade, única, era que o relatório nomeasse meu aplicação passada para o CMS estava errada (a única maneira que eu consegui reproduzir o erro). Então eu fui e verifiquei no InfoView de produção.

Acontece que eu estava completamente errado. Todos os nomes dos relatórios estão corretos.

Até onde eu sei, nada mudou com a configuração do CMS em produção. Os relatórios funcionaram bem antes da atualização do aplicativo e verifiquei que não fizemos nenhuma alteração em nosso aplicativo que pudesse afetar a funcionalidade do Crystal Report. Na verdade, todos os relatórios funcionam perfeitamente em nossa configuração de desenvolvimento. No entanto, algo claramente deu errado quando implantamos a produção. Todos os 3 relatórios estão na mesma pasta e, no entanto, um deles não pode ser encontrado mesmo quando o nome do relatório correto é fornecido.

O que estou perdendo aqui? Que outra maneira faria com que o CMS lançasse esse erro específico além de não conseguir encontrar o relatório em questão?

    
por sml485 25.08.2017 / 03:41

0 respostas