Pessoal
Vou fazer uma introdução ao problema para que entendam a situação, assim evitamos alguns tipos de respostas.
Tenho uma aplicação (desenvolvida por um parceiro de negócios) desenvolvida em Java (Swing). A aplicação é distribuída em um instalador para Windows, e serve para gerenciar uma solução de hardware. Em um projeto que estamos trabalhando, o cliente exige o acesso ao gerenciamento via web. Como o prazo é curto, e não temos tempo (e nem interesse do parceiros de negócios) de migrar para plataforma web, identificamos como mais viável distribuir via Java Web Start.
Acordamos com o parceiro o seguinte: ele me entrega a aplicação em um arquivo .jar, que eu mesmo iria criar o .jnlp, assinar o .jar e distribuir a aplicação. Isso porque não tenho acesso ao fonte, por motivos óbvios, e eles não permitem que façamos nenhuma modificação no software.
O parceiro me enviou o .jar, criei os arquivos e ambientes. Na hora de acessar, chega a baixa o .jar para a máquina do cliente, mas na hora de executar dá erro de ClassNotFoundException.
Enviei o erro para o time de desenvolvimento do parceiro (que fica nos EUA) e me retornaram com outro .jar. Muda o erro, mas continua dando erro, agora de NoClassDefFoundError.
Voltei o erro para o parceiro e a última resposta deles me assustou. Eles alegam que no programa há uma chamada à RMISocketFactory setSocketFactory. Eles dizem que esse método só pode ser chamado uma vez, e que quando roda via JNLP, ele já é chamado, não podendo ser novamente chamado dentro do programa. Dessa forma, teriam de alterar o código fonte do programa e isso não é viável, por diversas questões, incluindo prazo.
Não tenho conhecimento aprofundado de Java Web Start e nem de RMISocketFactory, então o que pergunto é:
Realmente [size=18]não é possível rodar via Java Web Start um .jar que faça chamada à RMISocketFactory setSocketFactory?[/size]
Desde já agradeço a atenção e ajuda.
Abraços