Pode um Applet acessar um Servlet em outro servidor?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
javaBeats
Java Ninja
[Avatar]

Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline

Olá pessoal,

Seguinte... pode um applet, em um servidor apache, funcionando em um portal php... enviar e receber comandos de um Servlet em outro servidor (não na mesma máquina)?

Policy? Signed jar? Impossível?

Obrigado,
Rodrigo

"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere
[Email]
fzampa
Virtual Machine Man
[Avatar]

Membro desde: 05/11/2004 18:22:45
Mensagens: 615
Localização: Belo Horizonte
Offline

HttpConnection ?


[MSN]
rodrigo_gomes
GUJ Master
[Avatar]

Membro desde: 25/11/2003 15:45:21
Mensagens: 1088
Localização: São Paulo
Offline

tem sim, inclusive tem um framework que te ajuda nisso, eh o
Jakarta Commons HttpClient

rodrigo de paiva gomes




http://twitter.com/rod_gomes
[WWW] [MSN] [ICQ]
javaBeats
Java Ninja
[Avatar]

Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline

Olá,

@fzampa

Estou usando justamente HttpConnection, e ainda assim tenho exceções AccessDenied;

@rodrigo_gomes

Obrigado pela dica

Eis a Stack Trace da exceção (estou tentando conectar no IP 192.168.0.8, porta 80, que é o Servidor Tomcat 5.5.9):

java.security.AccessControlException: access denied (java.net.SocketPermission 192.168.0.8:8080 connect,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.clienteui.logica.Comunicador.login(Comunicador.java:56)
at com.clienteui.ui.SuporteUI.init(SuporteUI.java:43)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

This message was edited 1 time. Last update was at 15/04/2005 08:51:17


"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere
[Email]
fzampa
Virtual Machine Man
[Avatar]

Membro desde: 05/11/2004 18:22:45
Mensagens: 615
Localização: Belo Horizonte
Offline

Ano passado eu utilizava HttpConnection pra fazer isso que vc está precisando... De dentro da faculdade pra acesso ao servidor (que estava externo) eu não conseguia. Até que mascararam a máquina (liberaram ela no firewall). Depois disso deu certo.

Será se não é o seu caso? Tem alguma coisa entre sua máquina e o servidor? Parece que não, mas isso me consumiu uma semana de dor cabeça


[MSN]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

Sua applet é assinada? Acho que não e este é o passo que está faltando.

[]s
Luca

Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
javaBeats
Java Ninja
[Avatar]

Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline

Olá,

Realmente, não assinei meu applet. Como devo fazê-lo? (nunca fiz isso antes). Claro, vou procurar referências para aprender, mas tem algum passo específico na distribuição do Applet?

Se alguém puder me fornecer link para um bom tutorial ou artigo, eu agradeço

Obrigado pela ajuda, pessoal!

"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere
[Email]
javaBeats
Java Ninja
[Avatar]

Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline

Já consegui fazer a assinatura do JAR, tudo funcionando. Muito obrigado à todos!

"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere
[Email]
Luca
Moderador
[Avatar]

Membro desde: 06/09/2002 14:30:10
Mensagens: 5810
Localização: São Paulo/SP ou Paraty/RJ
Offline

Olá

OK, beleza! Mas de todo modo incluo abaixo os passos que usei há mais de 3 anos para fazer isto e que quem quiser usar deve conferir estudando em links que pode encontrar no google pesquisando por signed applets ou coisa parecida. Não garanto que esteja tudo certo.

Passos para criar um certificado digital e assinar uma applet usando Java
(Troque todos os campos com SEU ou SUA por seus dados)

1. Criar a applet normalmente.


2. Criar a chave com keytool no prompt do DOS



3. Exportar a chave com keytool no prompt do DOS:



4. Crie SEUjar normalmente no prompt do DOS (com ant) ou com ajuda do seu IDE


5. Assine o jar com jarsigner:



6. Criar um arquivo .html para usar a applet através do Plugin

No prompt do DOS, usar o HTML Converter (htmlconverter) da mesma versão do Java usado na applet para converter a página feita usando o antigo e obsoleto label APPLET. O HTML Converter funciona do seguinte modo: primeiro copia o arquivo dado para um temporário. Neste arquivo temporário é feita a busca pelo label APPLET e a troca do que está entre os labels <APPLET> e </APPLET> de acordo com o padrão pedido. Se a conversão for bem sucedida, o arquivo original é renomeado como backup e o temporário é salvo com o nome do original.


7. Para certificados auto assinados ou certificados não aceitos automaticamente pelo browser, é preciso fazer com que o certificado que assina a applet seja reconhecido pelo browser

Isto pode ser feito de 2 modos:

a) Carregar o certificado no Browser do cliente a partir de uma página html lida remotamente e o cliente deve aceitar o certificado
b) Alterar no cliente o aquivo JAVA_HOME/lib/security/cacerts fazendo a importação do certificado (SEUarquivocontendocertificado.crt) para ele.

É isso aí, qualquer dúvida grite!

[]s
Luca

This message was edited 3 times. Last update was at 15/04/2005 10:30:14


Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."


CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/
[Email] [WWW]
javaBeats
Java Ninja
[Avatar]

Membro desde: 27/01/2005 11:41:47
Mensagens: 296
Offline

É isso aí, foi isso que fiz seguindo os passos de um pequeno tutorial da web: http://www.icesoft.com/developer_guides/icreader_icebrowser_bean/htmlguide/basics16.html

Novamente, obrigado!

"Life is a tragedy for those who feel, and a comedy for those who think". La Bruyere
[Email]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team