Acessar Bando de Dados usando RMI

estou tentando usar uma aplicação rmi… onde os 2 pcs tem a mesma aplicação… o servidor possui o banco de dados que sera acessado pelo outro computador

na configuração do postgres do servidor eu fiz a configuração:

TYPE DATABASE USER CIDR-ADDRESS METHOD

IPv4 local connections:

host all all 127.0.0.1/32 md5
host all all 169.254.48.173 md5

IPv6 local connections:

#host all all ::1/128 md5

porem no servidor da esse erro:

22/11/2009 15:26:00 View.RegistrarOcorrencia$4 run SEVERE: null java.rmi.ConnectIOException: Exception creating connection to: 192.168.1.6; nested exception is: java.net.SocketException: Network is unreachable: connect at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:614) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132) at $Proxy0.setDomainObject(Unknown Source) at View.RegistrarOcorrencia.<init>(RegistrarOcorrencia.java:49) at View.RegistrarOcorrencia$4.run(RegistrarOcorrencia.java:321) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.net.SocketException: Network is unreachable: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at java.net.Socket.<init>(Socket.java:366) at java.net.Socket.<init>(Socket.java:180) at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22) at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128) at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595) ... 16 more

vou postar os codigos aki… são mto rsrs

meu controle:
Fachada do servidor

public class Fachada extends UnicastRemoteObject implements IFachada {

    //  HashMap<String, IDAO> daos;
    private DomainObject domainObject;
    private Map<String, IDAO> daos;





    public Fachada() throws RemoteException {
   //   this.domainObject = domainObject;


        daos = new HashMap<String, IDAO>();      //  dominio = new  HashMap<String,

        daos.put(Ocorrencia.class.getName(), new DaoOcorrencia());

                daos.put(Produto.class.getName(), new DaoProduto());
                    daos.put(Usuarios.class.getName(), new DaoUsuarios());


    }

         public boolean Login(String parametro,String parametro2) throws RemoteException, SQLException {
                  IDAO dao = daos.get(domainObject.getClass().getName());
                  if(dao.Login(parametro, parametro2)){
                      return true;}else
                      {
                     
                      return false;
                  }

         }


    public boolean inserir() throws RemoteException {

        IDAO dao = daos.get(domainObject.getClass().getName());

        if (dao.inserir(domainObject)) {
            return true;
        } else {

            return false;
        }
    }[/code]

minha view:

[code]private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            JOptionPane.showMessageDialog(null, "aki");
            Ocorrencia ocorrencia = new Ocorrencia();
     
            	
            IFachada fachada = new Fachada();

            Cliente cliente = new Cliente();
            cliente.setCPF(Integer.parseInt(tfcpf.getText()));
            cliente.setNome(tfcliente.getText());
            ocorrencia.setCliente(cliente);




            Servicos servicos = new Servicos();
                TipoServico tiposervico = new TipoServico();
                         tiposervico.setDescricaoServico((String.valueOf(jComboBox1.getSelectedItem())));
                                 tiposervico.setIdServico(Integer.parseInt(codservico.getText()));

            ocorrencia.setServicos(servicos);
            ocorrencia.getServicos().setTiposervico(tiposervico);

            Veiculo veiculo = new Veiculo();
            veiculo.setPlaca(tfplaca.getText());
            veiculo.setNomeVeiculo(tfveiculo.getText());
            ocorrencia.setVeiculo(veiculo);


            ocorrencia.setIDOcorrencia(Integer.parseInt(tfcodigo.getText()));
  
            ocorrencia.setDescricao(tfdescricaoocorrencia.getText());

            ocorrencia.setData(tfdata.getText());
   
            fachada.setDomainObject(ocorrencia);
            fachada.inserir();
            JOptionPane.showMessageDialog(null, "ok salvo");

meu servidor:

public class Servidor {

    public Servidor() {

   try {
		             IFachada fachada = new Fachada();
		             Naming.rebind("rmi://localhost/ServicesServer", fachada);
    System.out.println("Servidor de inciado!!!");

    }
    catch( Exception e ) {
        e.printStackTrace();
    System.out.println( "Trouble: " + e );
    JOptionPane.showMessageDialog(null, e.getMessage());
    }
    }

    public static void main(String[] args) {
 new Servidor();

Agora os codigo que irá acessar o servidor:

View:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        try {
            JOptionPane.showMessageDialog(null, "aki");
            Ocorrencia ocorrencia = new Ocorrencia();
      
     // chamei o conector remoto do lookup
            	IFachada fachada = ConectorRemoto.getFachada();


            Cliente cliente = new Cliente();
            cliente.setCPF(Integer.parseInt(tfcpf.getText()));
            cliente.setNome(tfcliente.getText());
            ocorrencia.setCliente(cliente);


            Servicos servicos = new Servicos();
                TipoServico tiposervico = new TipoServico();
                         tiposervico.setDescricaoServico((String.valueOf(jComboBox1.getSelectedItem())));
                                 tiposervico.setIdServico(Integer.parseInt(codservico.getText()));

            ocorrencia.setServicos(servicos);
            ocorrencia.getServicos().setTiposervico(tiposervico);

            Veiculo veiculo = new Veiculo();
            veiculo.setPlaca(tfplaca.getText());
            veiculo.setNomeVeiculo(tfveiculo.getText());
            ocorrencia.setVeiculo(veiculo);


            ocorrencia.setIDOcorrencia(Integer.parseInt(tfcodigo.getText()));
     
            ocorrencia.setData(tfdata.getText());
       
            fachada.setDomainObject(ocorrencia);
            fachada.inserir();
            JOptionPane.showMessageDialog(null, "ok salvo");

meu lookup

[code]
public class ConectorRemoto {public static IFachada getFachada()throws MalformedURLException, RemoteException, NotBoundException{

IFachada fachada = (IFachada) Naming.lookup( "rmi://169.254.16.157/ServicesServer" );
return fachada;}}[/code]