ele fala que nao acha o diretorio (java.io.FileNotFoundException: Boletos\asda.pdf (O sistema não pode encontrar o caminho especificado)
at java.io.FileOutputStream.open(Native Method))
Cara… ainda nao cheguei nessa parte estou apenas em desenvolvimento ainda… e queria gerar esse arquivo para depois mostrar ele no navegador, porem qdo eu mando criar sem o Boletos\ ele cria no meu workspace, e eu nao consigo recuperar isso para mostrar na web, pois fala que nao tenho permissao
Sem querer ser chato, mas acho que o mundo dele não vai acabar rs. Dá pra mudar e a aplicação dele ctz não é tão crítica assim. Bom, eu continuo achando que o certo é deixar tudo separado e em servidores separados. Isso de misturar o Flex/Java no contexto, não cheira bem…
Olá…bom dia…Faz igual o Andre disse que era para fazer…
coloca o diretório C:/… até onde esta o seu arquivo ai funciona…já passei por problema
parecido com esse antes.
Gostaria de entender como deixar Java/Flex em servidores separados, quando estamos falando de uma aplicação WEB que obviamente roda através de um servidor de aplicação.
Nós temos uma solução desenvolvida em Java/Flex que gera arquivos PDF para download e ela roda tanto em servidores linux quando windows e não temos esses problemas.
Gostaria de entender como deixar Java/Flex em servidores separados, quando estamos falando de uma aplicação WEB que obviamente roda através de um servidor de aplicação.
Nós temos uma solução desenvolvida em Java/Flex que gera arquivos PDF para download e ela roda tanto em servidores linux quando windows e não temos esses problemas.
Att[/quote]
Opa Horochovec,
Subentende-se que Flex é uma Tier da aplicação, e pode rodar em um servidor Web sem problemas. Já a aplicação Java deve estar sempre em um servidor de aplicação. São coisas diferentes. Essa mistura de conceitos não é interessante. Seria interessante se Flex/Java partilhassem da mesma VM. Que não é o caso.
Nem tem como usar a mesma VM. O SWF utiliza a VM do PC do usuário, enquanto o servidor de aplicação usa a VM instalada nele.
Mas ainda não entendi essa sua ideia de rodar em servidores separados as camadas da aplicação (visão e negocio/banco de dados) para resolver o problema do nosso colega com caminhos relativos para geração de arquivos dentro do servidor e disponibilizar para download.
Depois que colocar no servidor configura o caminho pra onde vai deixar… Dá pra pegar o path, criar uma pasta e jogar as coisas lá dentro (acho que tudo em runtime mesmo). Mas agora, como é só pra testes, acho que seria mais tranquilo deixar lá no C mesmo.
Isso mesmo, voce pode pegar o path através do proprio java e fazer a criação de pastas dinamicamente. Mas como eu disse anteriormente. Usar o C:\ impede que voce utilize essa aplicação em servidores Linux/FreeBSD/Mac/etc… Perdendo assim a multi-plataforma da tua aplicação, que por sinal, é uma das premissas do Java “… run anywhere…”
Cara pra voce nao ficar preso a isso dai, tem bibliotecas do BlazeDS, uma classe em particular chamada FlexContext com um metodo getRealPath se bem me lembro.
Coloque a pasta no flex_src e quando for inserir dados coloque a pasta como parametro. Esse erro é provavel que voce nao tenha criado a referencia ao arquivo antes de inserir dados.
Pronto e simples voce nao fica preso a sistemas operacionais.
Quanto a fazer deploy de servicos separados flex em um servidor com um deles servindo a camada visual e um tomcat servindo os requests é possível mas não é pratico.
Por exemplo se voce colocar o apache pra servir o swf e um tomcat para servir os requests do protocolo amf.
Esse metodo estatico em java resolveria o problema FlexContext.getServletContext().getRealPath("/assets"); Retornaria o path do arquivo dinamincamente por exemplo C:/assets/
agora a url para voce acessar o arquivo por um browser seria “http://” FlexContext.getHttpRequest().getServerName()+":"+FlexContext.getHttpRequest().getServerPort(); retornaria http://seudominio.com.br:8080 i.e. dai basta concatenar o nome da pasta em que esta o arquivo mais o nome do arquivo e baixar usando a classe FileReference em ActionScript.