Pessoal estou usando RMI onde um pc tem o servidor que executo seu stub, inicio o rmiregistry e rodo o servidor...
tenho uma outra aplicação que é o cliente... onde faço seu stub tbm e executo a aplicação para salvar no banco de dados do Servidor
Quando executo a aplicação não da erro nenhum, mais quando clico no botão salvar ele da esse erro:
run:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: Dominio.Veiculo; local class incompatible: stream classdesc serialVersionUID = -5429522017618971673, local class serialVersionUID = 7374631058537327199
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:336)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)
at Controle.Fachada_Stub.setDomainObject(Unknown Source)
at View.RegistrarOcorrencia.jButton1ActionPerformed(RegistrarOcorrencia.java:295)
at View.RegistrarOcorrencia.access$000(RegistrarOcorrencia.java:39)
at View.RegistrarOcorrencia$1.actionPerformed(RegistrarOcorrencia.java:134)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
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.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.io.InvalidClassException: Dominio.Veiculo; local class incompatible: stream classdesc serialVersionUID = -5429522017618971673, local class serialVersionUID = 7374631058537327199
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:293)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.InvalidClassException: Dominio.Veiculo; local class incompatible: stream classdesc serialVersionUID = -5429522017618971673, local class serialVersionUID = 7374631058537327199
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:290)
... 9 more
essa é minha view fazer o registro:
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");