Tenho:
maquina A - TESTE
maquina B - Produção
maquina C - Onde será gravado o arquivo.
Caminho iguais mais na maquina de produção não grava já no de testes grava normalmente.
A
aprendizweb
Fala garoto!
É o seguinte, tive um problema semelhante aqui na empresa, logo você deve verificar duas hipóteses.
Primeira: saber se você possui permissão para criar o arquivo no servidor.
Segunda: Verificar se o firewall estar bloqueado esse processo.
L
leandrooooo
Valew, vou dar uma olhada…
Arquivo eu crio sem problemas no servidor.
Acho que vai ser o firewall q deve estar bloqueando a criação do arquivo quando vem por fora da rede.
L
leandrooooo
Cara, continua precisando da sua ajuda, já que passou por isso.
Olha que estranho, quando chamo o servlet para criar o arquivo tem dois erro diferente com caminhos diferentes, só que os dois caminhos são verdadeiros, ou seja, existe na maquina e são o mesmo diretorio, o que pode estar acontecendo? Estamos vendo no firewall e pelo que estou sendo informado não está bloqueando nada.
Esse erro é o mapeamento que criei no servidor web
java.io.FileNotFoundException: Q:\wk\20131205174129.txt (O sistema não pode encontrar o caminho especificado)
java.io.FileOutputStream.open(Native Method)
java.io.FileOutputStream.<init>(Unknown Source)
java.io.FileOutputStream.<init>(Unknown Source)
java.io.FileWriter.<init>(Unknown Source)
Enviar.doPost(Enviar.java:54)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Desde já obrigado.
leandrooooo
A
aprendizweb
Como esta o seu método ou sua classe que cria este arquivo?
L
leandrooooo
Segue abaixo:
Filediretorio=newFile("\\IP\\Comum\\workflow");//File diretorio = new File("Q:/workflow");StringarqResp=diretorio.getPath()+"/"+apr_codaprov+apr_pedaca+".txt";Filearquivo=newFile(arqResp);Writerdados=newBufferedWriter(newFileWriter(arquivo));dados.write("APROVADOR="+apr_codaprov+"|PEDIDO="+apr_pedido+"|STATUS="+apr_status.substring(0,8)+"|MOTIVO="+apr_motivo+"|\r\n");dados.flush();dados.close()
E
ErickRAR
É tudo o mesmo sistema operacional? Use File.Separator ao invés de “”
L
leandrooooo
Só a maquina que está o firewall que é linux o resto é tudo win.
Acho que o problema é no firewall, mais não sei o que pode estar pegando, pois como ja disse na rede interna o programa roda normalmente e quando faço o acesso externo e que tem que passar pelo firewall apresenta os erro já citado.
Complicado?!?!?!?!?!?!
Vai saber o que pode estar acontecendo!
A
aprendizweb
Faz o seguinte, starta o tomcat com o teu usuário de rede no servidor. Em alguns casos e necessário que se de permissão para o serviço.
basta procurar o serviço do tomcat no painel de Serviços. para acessar se usa o atalho services.msc no executar.
Depois click com o botão direito no serviço do tomcat depois em Propriedades, na aba Logon marque a opção Esta Conta
e informe seu usuário e senha de rede para finalizar.
L
leandrooooo
Cara, deu certo, inseri o usuário de rede funcionou.
Eu nao entendi o pq que foi necessário inserir esse usuario, sendo que na maquina de testes não tem?
E outra, servidor web estava em outra maquina e funcionava redondinho sem o usuario de rede (Não me lembro mais acho q quando era esta maquina o tomcat era 5.x), foi a gente trocar de maquina q comecou a dar problema e quando trocamos de maquina instalei o tomcar 7.x.
Mais muito obrigado pela ajuda.
Att.
Leandroooo
A
aprendizweb
Blz,!!
Porém o correto seria você criar uma pasta fora do tomcat e ativar permissão para criar arquivo na mesma, e caso necessário compartilha-la.
Neste caso você não tem permissão para criar arquivo dentro da pasta do tomcat no servidor!