Hey Hey,
kurze frage:
bekomme folgende Fehlermeldung:
Kann mir jemand helfen?
[Java]
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: de.dhbw.JDBC.model.User
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.abfrageUser(Unknown Source)
at de.dhbw.clientServer.rmi.Client.main(Client.java:158)
[/Java]
und der Code dazu:
Main im Client:
[Java]
Service service = (Service) Naming.lookup("rmi://127.0.0.1/PalindromService");
service.abfrageUser()[0].getBenutzername();
[/Java]
Server:
[Java]
public User[] abfrageUser() throws RemoteException {
User[] allUsers = new User[10];
Statement stmt;
try {
stmt = makeStatement();
String sql = "SELECT benutzername, emailadresse FROM user";
ResultSet rs = stmt.executeQuery(sql);
int anzahlElemente = 0;
while (rs.next()) {
anzahlElemente++;
}
rs.beforeFirst();
int a=0;
while (rs.next()) {
User user = new User();
user.setBenutzername(rs.getString("benutzername"));
user.setEmail(rs.getString("emailadresse"));
allUsers[a]=user;
}
stmt.executeQuery("SHUTDOWN");
stmt.close();
con.commit();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return allUsers;
}
[/Java]
kurze frage:
bekomme folgende Fehlermeldung:
Kann mir jemand helfen?
[Java]
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: de.dhbw.JDBC.model.User
at sun.rmi.server.UnicastRef.invoke(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Unknown Source)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(Unknown Source)
at $Proxy0.abfrageUser(Unknown Source)
at de.dhbw.clientServer.rmi.Client.main(Client.java:158)
[/Java]
und der Code dazu:
Main im Client:
[Java]
Service service = (Service) Naming.lookup("rmi://127.0.0.1/PalindromService");
service.abfrageUser()[0].getBenutzername();
[/Java]
Server:
[Java]
public User[] abfrageUser() throws RemoteException {
User[] allUsers = new User[10];
Statement stmt;
try {
stmt = makeStatement();
String sql = "SELECT benutzername, emailadresse FROM user";
ResultSet rs = stmt.executeQuery(sql);
int anzahlElemente = 0;
while (rs.next()) {
anzahlElemente++;
}
rs.beforeFirst();
int a=0;
while (rs.next()) {
User user = new User();
user.setBenutzername(rs.getString("benutzername"));
user.setEmail(rs.getString("emailadresse"));
allUsers[a]=user;
}
stmt.executeQuery("SHUTDOWN");
stmt.close();
con.commit();
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return allUsers;
}
[/Java]