Caros amigos

Sou grato pela ajuda de todos voces, e acredito estar bem perto da solucao 
definitiva do meu problema.

Instalei o Personal Web Server em minha maquina, no diretorio C:\WEBSHARE

O diretorio raiz do web server, e c:\webshare\wwwroot

A variavel CLASSPATH = %CLASSPATH%;C:\webshare\wwwroot

Configurei meu endereco IP local para 192.168.0.1
Assim, se digitar este endereco no browser eu abrirei uma pagina no
diretorio c:\webshare\wwwroot

Abro uma janela do MS-DOS para comecar o processo de compilacao
cd\mysrc        // onde estao os programas em java
javac Hello.java
javac HelloImpl.java
rmic HelloImpl  // gerando o stub

// transferindo para o diretorio raiz do servidor web
Copy Hello*.class \webshare\wwwroot
Del Hello*.class

Abro uma nova janela do MS-DOS
set classpath=     // desconfigura o CLASSPATH nesta janela
start rmiregistry   // tudo bem ate aqui

Retorno a primeira janela
java -Djava.rmi.server.codebase=http://192.168.0.1/ HelloImpl
apos alguns segundos aparece uma tela cheia de mensagens de erro:

HelloImpl err: access denied (java.net.SocketPermission 192.168.0.1:1099
connect, resolve)

Aparecem outras mensagens, mas acho que esta e a principal.

Este e o programa HelloImpl.java que provoca a mensagem.

import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.server.UnicastRemoteObject;

public class HelloImpl extends UnicastRemoteObject
    implements Hello {

    public HelloImpl() throws RemoteException {
        super();
    }

    public String sayHello() {
        return  "Hello World!";
    }

    public static void main(String args[]) {

        // Create and install a security manager
        if (System.getSecurityManager() == null) {
            System.setSecurityManager(new RMISecurityManager());
        }
        try {
            HelloImpl obj = new HelloImpl();
            // Bind this object instance to the name "HelloServer"
*******************  aparentemente o problema ocorre aqui
            Naming.rebind("//192.168.0.1:1099/HelloServer", obj);
*********************************************

            System.out.println("HelloServer bound in registry");
        } catch (Exception e) {
            System.out.println("HelloImpl err: " + e.getMessage());
            e.printStackTrace();
        }
    }
}




>From: "Luis Fernando" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: RE: [SouJava-J] Problemas com RMI
>Date: Wed, 22 Mar 2000 04:53:10 GMT
>
>
>
>Meu caro,
>
>Agradeco pelos comentarios, mas o motivo de eu ter dado esse exemplo,
>foi pelo fato de jah ter executado o problema assim e TER FUNCIONADO.
>Falando em erro, sua opcao para fazer o acesso localmente eh totalmente 
>impossivel, pois se trata de uma Applet que NAO PODE SE COMUNICAR AO NAO 
>SER COM O SERVIDOR QUE A ORIGINOU.O uso do jswdk eh indispensavel nesse 
>caso.
>A sintaxe no comando que voce diz nao citar a classe a ser ivocada, cita 
>claramente o arquivo HelloImpl.class NAO?!?!
>java -Djava.rmi.server.codebase="http://localhost:8080/mysrc/HelloImpl"<-
>
>Que por sinal foi tirada do tutorial de rmi da sun que segue abaixo:
>
>"The following command shows how to start the HelloImpl server, specifying 
>this property:
>
>java –Djava.rmi.server.codebase=http://myhost/~myusrname/codebase/
>examples.hello.HelloImpl &
>Note – The trailing / in the codebase URL must be specified.
>A stub class is dynamically loaded into a client’s virtual machine only 
>when the class is not already available locally."
>
>  Ao que me parece ao localizar a classe no servidor HelloImpl, 
>automaticamente procura pelo stub no mesmo diretorio, que tambem eh 
>encontrado(desde que esteja lah, of course).
>
>  Tutorial esse que tenho em pdf e terei prazer em enviar a lista se for de 
>interesse de todos.
>
>Later,
>
>Luis Fernando.
>
>
>
>>
>>Pessoal, estamos confundindo uma coisa basica...
>>a linha de comando:
>>
>>java -Djava.rmi.server.codebase="http://localhost:8080/mysrc/HelloImpl
>>
>>E que estah TOTALMENTE ERRADA!
>>
>>O erro que o nosso amigo esta tendo eh no momento de executar o objeto
>>servidor, isto se da por que o rmiregistry nao consegue localizar o stub, 
>>e
>>isso ocorre por que a propriedade java.rmi.server.codebase esta totalmente
>>errada, alem disso, a sintaxe do comando nem sequer indica a classe a ser
>>invocada. Por isso, como ja disso no meu primeiro e-mail sobre o assunto, 
>>ai
>>vai a resposta para ESTE problema (voce provavelmente vai ter outros 
>>depois
>>de resolver este)
>>
>>java -Djava.rmi.server.codebase=file:///c:/mysrc HelloImpl
>>
>>A propriedade esta setada para o seu diretorio c:\mysrc. Isso indica que 
>>os
>>arquivos de classes, inclusive os stubs devem estar neste diretorio.
>>O uso de file:/// eh feito visto que voce nao esta usando nenhum servidor
>>web. Isso significa que se voce rodar um aplicacao cliente nesta mesma
>>maquina, ela vai funcionar.
>
>Nao, Nao vai. O acesso eh feito por uma Applet.Tem que ser remoto.
>
>>Se voce criar um jar com uma aplicacao cliente
>>que inclua o stub e rodar de outra maquina, ela vai funcionar. CONTUDO, se
>>voce tentar rodar uma aplicacao cliente em uma maquina que NAO CONTENHA O
>>STUB NO CLASSPATH, NAO VAI FUNCIONAR.
>>Isso acontece por que o download dinamico do stub necessita do protocolo
>>http, ou pelo menos uma parte dele, por isso voce deveria usar um servidor
>>web.
>>
>>Caso voce consiga um servidor web (tem varios disponiveis por ai de 
>>graca),
>>voce devera mudar a propriedade java.rmi.server.codebase para algo tipo:
>>java.rmi.server.codebase=http://127.0.0.1:8080/mysrc.
>>
>>Voce devera substituir o endereco, a porta e o diretorio pelos que 
>>estiverem
>>sendo usados por voce.
>>
>>Abraco, boa sorte, e se tiver mais duvidas, mande outro e-mail bem
>>detalhado!
>>
>>
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com
>
>    --------------------------- LISTA SOUJAVA ---------------------------
>    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
>    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
>    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
>    ---------------------------------------------------------------------
>

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
    [dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    ---------------------------------------------------------------------

Responder a