Funciona Local mas não funciona no Servidor



  • Senhores,

    Tenho uma aplicação que funciona normalmente local (webrun no meu notebook). Mas no servidor, ele dá o erro abaixo quando tenho incluir o segundo registro em uma grade de um formulário específico.

    Não tenho nem idéia do que possa ser. Alguém pode me ajudar?

    [b]Exceção Gerada:
    java.sql.SQLException: Invalid cursor position at com.sun.rowset.CachedRowSetImpl2.rowDeleted(CachedRowSetImpl2.java:3992) at com.sun.rowset.CachedRowSetImpl2.getRow(CachedRowSetImpl2.java:3586) at wfr.database.WFRResultSet.getRow(WFRResultSet.java:947) at wfr.sys.HTMLInterface.HTMLFormSearch.(HTMLFormSearch.java:85) at wfr.sys.HTMLInterface.HTMLForm.(HTMLForm.java:175) at wfr.sys.HTMLInterface.HTMLGrid.getCreationForm(HTMLGrid.java:167) at wfr.sys.HTMLInterface.HTMLGrid.postUpdates(HTMLGrid.java:1336) at wfr.web.actions.GridEditAction.execute(GridEditAction.java:87) at wfr.web.Action.doAction(Action.java:126) at wfr.web.Controller.process(Controller.java:100) at wfr.web.Controller.doGet(Controller.java:57) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at wfr.web.ContextFilter.doFilter(ContextFilter.java:86) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)[/b]


  • Rodrigo, verifique se as estruturas das tabelas estão iguais. Veja todas as constraints...
    Certifique-se que vc está utilizando as mesmas versões do banco de dados também.


  • Bom dia Anderson!

    Exportei o banco todo da minha máquina, criei o banco no servidor e fiz o Restore.

    Estou usando o mesmo banco de dados (Postgre 9).

    Por isso que não entendi o motivo dele não está funcionando corretamente no servidor.


  • Existe algum fluxo associado?
    Faça um teste. Publique o mesmo WAR em sua máquina local, veja se funciona.


  • [quote="andersonleal"]Existe algum fluxo associado?
    Faça um teste. Publique o mesmo WAR em sua máquina local, veja se funciona.[/quote] O WAR que publiquei no servidor, exportei da minha máquina com tudo que tem direito.

    Ah... vale lembrar que fiz a atualização do webrun para garantir que tudo está igual.

    Na grade tem fluxo associado sim. Ele faz algumas verificações e calcula o total do item.


  • É justamente isso... pegue esse mesmo WAR e publique na sua própria máquina, como se estivesse publicando no servidor. Veja se irá funcionar.


  • [quote="andersonleal"]É justamente isso... pegue esse mesmo WAR e publique na sua própria máquina, como se estivesse publicando no servidor. Veja se irá funcionar.[/quote] Ok... entendi... vou tentar aqui...


  • Anderson,

    Ao tentar colocar o WAR no Webrun da minha máquina, notei que não existe o WAR e a pasta do sistema ( que eu achei que fosse gerado automáticamente pelo Maker ).

    Copiei o WAR para a pasta [b]C:\Program Files (x86)\Softwell Solutions\Maker 2.7\Webrun 2\tomcat\webapps[/b], mas estou na dúvida.

    Como saberei que estou acessando o novo WAR? Onde está a pasta do sistema que desenvolvi?

    Testei pela URL http://127.0.0.1:8087/webrun/open.do?sys=GET e funcionou.


  • Você desenvolve por aqui, http://127.0.0.1:8087/webrun/open.do?sys=GET Certo?

    Quando você gerou o WAR, ele veio com o nome GET.WAR. Você pega esse WAR e coloca no diretório "C:\Program Files (x86)\Softwell Solutions\Maker 2.7\Webrun 2\tomcat\webapps" da sua própria máquina (Lembrando de parar o tomcat antes). Após isso, ligue o tomcat, espere o deploy (é o que tomcat faz para descompactar automaticamente os arquivos do WAR) e em seguida acesse a aplicação pela url: http://127.0.0.1:8087/GET/open.do?sys=GET


    OBS:
    você deve colocar na url, o nome exato que colocou no WAR. Se vc renomear o war para "publicado", seu acesso será "http://127.0.0.1:8087/publicado/open.do?sys=GET".

    O objetivo é testar o que você publicou. A partir do sistema publicado, você não poderá fazer alterações em modo de projeto, apenas simular o que foi gerado.


  • [quote="andersonleal"]Você desenvolve por aqui, http://127.0.0.1:8087/webrun/open.do?sys=GET Certo?

    Quando você gerou o WAR, ele veio com o nome GET.WAR. Você pega esse WAR e coloca no diretório "C:\Program Files (x86)\Softwell Solutions\Maker 2.7\Webrun 2\tomcat\webapps" da sua própria máquina (Lembrando de parar o tomcat antes). Após isso, ligue o tomcat, espere o deploy (é o que tomcat faz para descompactar automaticamente os arquivos do WAR) e em seguida acesse a aplicação pela url: http://127.0.0.1:8087/GET/open.do?sys=GET


    OBS:
    você deve colocar na url, o nome exato que colocou no WAR. Se vc renomear o war para "publicado", seu acesso será "http://127.0.0.1:8087/publicado/open.do?sys=GET".

    O objetivo é testar o que você publicou. A partir do sistema publicado, você não poderá fazer alterações em modo de projeto, apenas simular o que foi gerado.[/quote] Agora eu entendi perfeitamente Anderson!

    Testei conforme sua orientação ( http://127.0.0.1:8087/GET/open.do?sys=GET ) e funcionou perfeitamente na minha máquina.

    Meu servidor é uma VM com Windows 2008 R2 (não sei se essa informação pode ajudar em alguma coisa).


  • Se funcionou corretamente no seu ambiente, significa que o seu WAR está perfeito. O que leva a crer que há algo de diferente no ambiente em que você está publicando.

    A versão do banco de dados é a mesma? Qual o banco? Certifique-se que utilizou o mesmo instalador para os dois ambientes. Tente fazer em um terceiro ambiente e veja se o problema persiste.


  • [quote="andersonleal"]Se funcionou corretamente no seu ambiente, significa que o seu WAR está perfeito. O que leva a crer que há algo de diferente no ambiente em que você está publicando.

    A versão do banco de dados é a mesma? Qual o banco? Certifique-se que utilizou o mesmo instalador para os dois ambientes. Tente fazer em um terceiro ambiente e veja se o problema persiste.[/quote] Versão do Banco é o PostgreSQL 9.0.8-1 x64. Usei o mesmo instalador nos dois ambientes.

    Vou tentar instalar em outra máquina então.


  • Anderson,

    Acabei de verificar que o banco da minha máquina é 9.0.5 32 bits e o do servidor 9.0.8 64 bits.

    Pode ser isso?


  • Olha, geralmente as incompatibilidades acontecem mais dentro as diferenças na parte inteira e na primeira parte decimal da versão...

    ex: 8.0 para 9.0 ou 9.3 para 9.4... No seu caso, as duas versões são 9.0. Acho difícil.. Tem o fato de ser uma 32bits e outra 64, aí eu já não sei...
    De qualquer forma, eu não gosto de arriscar. Para um perfeito comportamento (E isso não é coisa minha), os ambientes devem ser os mesmos. Sugiro que iguale os ambientes e teste.


  • [quote="andersonleal"]Olha, geralmente as incompatibilidades acontecem mais dentro as diferenças na parte inteira e na primeira parte decimal da versão...

    ex: 8.0 para 9.0 ou 9.3 para 9.4... No seu caso, as duas versões são 9.0. Acho difícil.. Tem o fato de ser uma 32bits e outra 64, aí eu já não sei...
    De qualquer forma, eu não gosto de arriscar. Para um perfeito comportamento (E isso não é coisa minha), os ambientes devem ser os mesmos. Sugiro que iguale os ambientes e teste.[/quote] Ok Anderson!

    Muitíssimo obrigado pela força!

    Depois posto o resultado dos testes.

    Abração!!!


  • Valeu, cara. Boa sorte aí. Espero que dê tudo certo!


  • Boa tarde Anderson!

    Instalei tudo numa máquina com Windows 7 32bits e funcionou perfeitamente... (neste eu instalei o postgres 9.0.5 32bits)...

    Então resolvi desinstalar o Postgres 9.0.8 64bits do servidor e instalar o 32bits e continuou com o mesmo problema...

    Tem ideia do que posso fazer agora?


  • Conseguiu solucionar?


  • [quote="andersonleal"]Conseguiu solucionar?[/quote] Anderson,

    Falei com o pessoal que precisava de um outro servidor para testar. Mas saí da empresa. Estou em outro emprego agora.

    Verei com eles se conseguiram e te falo!

    Abração e obrigado pela força!

Log in to reply