Doubt on Throwing own exceptions in java rmi?
Hello,
I am writing my own exception class and want to send exception object to the specific client.
But, Exception class constructor only accept string.
If I want to send both string and its corresponding error constant, how can I throw it.
thank you.
But, Exception class constructor only accept string.That is simply untrue. Have another look.
Similar Messages
-
Exception occured: java.rmi.ConnectException:
hi
i got an exception while running rmi client jar file....
i want to invoke a method in the server..i have created two jar files one for server and another for client..
i have added the policy file also..i tried by using server and client in the same system
when i run the client jar i got an exception like given below..and i'm using netbeans 6...
Exception occured: java.rmi.ConnectException: Connection refused to host: localhost; nested exception is:
java.net.ConnectException: Connection refused: connect
can any one help me to solve this problem?
thanx in advance...hi thanx for the reply..
i'm using windows XP, netbeans6, jdk6, sql server2000.
when i started the rmiregistry this exception is over, but another exception comes
Exception occured: java.rmi.NotBoundException: myebillRMIImpl
my code is given below..please help me....a similar code worked properly without using netbeans..
import java.sql.*;
public interface ebillRMIInterface extends java.rmi.Remote
public void insert(String str) throws java.rmi.RemoteException;
public ResultSet select(String str1) throws java.rmi.RemoteException;
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
import java.sql.*;
public class ebillRMIImpl extends UnicastRemoteObject implements ebillRMIInterface
public ebillRMIImpl(String name) throws RemoteException
super();
try
Naming.rebind(name, this);
catch(Exception e)
System.out.println("Exception occurred: " + e);
Statement stmt=null;
Connection con=null;
ResultSet res=null;
public void insert(String str)
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:rmidsn", "sa", "");
stmt = con.createStatement();
stmt.executeUpdate(str);
con.close();
catch (Exception e)
System.out.println(e);
public ResultSet select(String str)
try
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:rmidsn", "sa", "");
stmt = con.createStatement();
res=stmt.executeQuery(str);
con.close();
catch (Exception e)
System.out.println(e);
return res;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
public class ebillRMIServer
public static void main(String[] argv)
System.setSecurityManager(new RMISecurityManager());
try
//Registry registry =LocateRegistry.getRegistry();
ebillRMIImpl implementation = new ebillRMIImpl("myebillRMIImpl");
catch (Exception e)
System.out.println("Exception occurred: " + e);
Client function is
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.setSecurityManager(new RMISecurityManager());
int itemid;
String serverName ="";
serverName = "localhost";
ResultSet res=null;
String itid=jTextField1.getText();
itemid=Integer.parseInt(itid);
try
//bind server object to object in client//rmi://host:<port>/correlator
ebillRMIInterface ebillserver = (ebillRMIInterface) Naming.lookup("rmi://"+serverName+"/myebillRMIImpl");
//invoke method on server object
System.out.println("Date on server is " + d);*/
String str="select * from Stock where itemid="+itemid;
res=ebillserver.select(str);
while(res.next())
jTextField2.setText(res.getString(2));
Float price=res.getFloat(4);
String pr=String.valueOf(price);
jTextField3.setText(pr);
catch(Exception e)
System.out.println("Exception occured: " + e);
System.exit(0);
System.out.println("RMI connection successful");
} -
Exception occurred: java.rmi.ServerException
Hello,
I am trying to run small rmi program on sun solaris unix server. but after running the rmiregistry when I have execute the server program, it's throwing me following error. The same program is running fine in my local windows machine.
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: RMITest.myRMIInterface
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:400)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:255)
at sun.rmi.transport.Transport$1.run(Transport.java:168)
at java.security.AccessController.doPrivileged(AccessController.java:274)
at sun.rmi.transport.Transport.serviceCall(Transport.java:164)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:506)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:838)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:912)
at java.lang.Thread.run(Thread.java:797)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:263)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:239)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:358)
at sun.rmi.registry.RegistryImpl_Stub.rebind(RegistryImpl_Stub.java:133)
at java.rmi.Naming.rebind(Naming.java:174)
at RMITest.myRMIImpl.<init>(myRMIImpl.java:14)
at RMITest.myRMIServer.main(myRMIServer.java:12)
I have check that this exception occured when IMPL class's naming.rebind method called.
import java.rmi.*;
import java.rmi.server.UnicastRemoteObject;
public class myRMIImpl extends UnicastRemoteObject implements myRMIInterface
public myRMIImpl(String name) throws RemoteException
super();
try
Naming.rebind(name, this);
catch(Exception e)
System.out.println("Exception occurred: " + e);
public java.util.Date getDate()
return new java.util.Date();
Can you help me how to solve this problem.
Note : my rmiregistry is running on 4999 port.
- Hiren Modijava.lang.ClassNotFoundException: RMITest.myRMIInterfaceThe Registry can't find that class on its CLASSPATH.
Solution: do something about that. Either run the registry as a separate task with a suitable CLASSPATH setting, or run it in the server JVM via LocateRegistry.createRegistry(). -
package library.client;
import javax.naming.InitialContext;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Method;
import java.sql.ResultSet;
import javax.ejb.*;
import javax.naming.*;
import javax.swing.*;
import library.common.*;
@SuppressWarnings("serial")
public class LibraryClient extends JFrame implements ActionListener {
private static LibraryInterface li;
private JTextField book_author = new JTextField(10);
private JTextField book_title = new JTextField(10);
private JTextField book_isbn = new JTextField(10);
private JLabel author_label = new JLabel("Podaj autora:");
private JLabel book_title_label = new JLabel("Podaj tytul ksiazki");
private JLabel isbn_label = new JLabel("Podaj ISBN");
private JTextArea display_books = new JTextArea(20,50);
private JButton search = new JButton("Search");
private ResultSet resultset;
public LibraryClient() {
this("DEFAULT_CONTEXT");
private JPanel createPanel1(){
JPanel panel = new JPanel();
panel.add(author_label);
panel.add(book_author);
panel.add(book_title_label);
panel.add(book_title);
panel.add(isbn_label);
panel.add(book_isbn);
panel.add(search);
////search.setActionCommand("ISBN");
search.addActionListener(this);
return panel;
private JPanel createPanel2(){
JPanel panel = new JPanel();
panel.add(display_books);
return panel;
private JPanel createPanels(){
JPanel panel = new JPanel();
//Use default FlowLayout.
panel.setLayout(new BorderLayout());
panel.add(createPanel1(), BorderLayout.NORTH);
panel.add(createPanel2(), BorderLayout.SOUTH);
return panel;
public LibraryClient(String appType) {
init(appType);
JFrame frame = new JFrame("Library");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// /final Table table = new Table();
frame.setContentPane(createPanels());
frame.pack();
// /f.setLocationRelativeTo(null);
frame.setVisible(true);
public void actionPerformed(ActionEvent e) {
try {
display_books.setText("");
display_books.setText("Wyszukane Ksiazki\n");
if(!book_author.getText().equals("")){
resultset=li.getBookByAuthor(book_author.getText());
}else if(!book_title.getText().equals("")){
resultset=li.getBookByName(book_title.getText());
}else if(!book_isbn.getText().equals("")){
resultset=li.getBookByISBN(book_isbn.getText());
}else {
System.out.println("Before->resultset=li.getAllBooks()");
resultset=li.getAllBooks();
System.out.println("After->resultset=li.getAllBooks()");
while(resultset.next()){
System.out.println("in while resultset.next()");
String name = resultset.getString("name");
String author =resultset.getString("author");
String isbn = resultset.getString("ISBN");
display_books.append("\n"+ name + " " + author +" "+ isbn);
} catch(Exception exc) { exc.printStackTrace(); }
private void init(String type) {
if (type.equals("JAVA_APP")) li = new library.ejb.LibraryBean();
else if (type.equals("JAVA_CLIENT")) {
try {
InitialContext ic = new InitialContext();
li = (LibraryInterface) ic.lookup("library.common.LibraryInterface");
} catch (NamingException e) {
e.printStackTrace();
public static void main(String[] args) {
if (args.length >= 1) new LibraryClient(args[0]);
else new LibraryClient();
}it throws the exception when it gets to
any of the functions
resultset=li.getBookByAuthor(book_author.getText());
resultset=li.getBookByName(book_title.getText());
resultset=li.getBookByISBN(book_isbn.getText());
resultset=li.getAllBooks();
Please help
Thank YouHi,
I also get the same error.have you got the solution,fi so explain me how to rectify the error
Regards
SamyMohan -
How do i throw BPEL exception from java embedded activity
Hello everybody,
i want to use some embedded java code in my BPEL process (bpelx:exec). This code would sometimes throw exceptions. How can i deal with these exceptions to control my BPEL process? I would like, in a sense, to do some catching of java exceptions but at the BPEL level... for example, my java code would throw an exception, that my BPEL process would "catch" and react the way i want. Is it possible to do that?
Thanks for your help!Re: Embedded Java in BPEL and exception handling
-
Exception occured: java.rmi.NotBoundException: ebillRMIImplInstance
Hi pls help me ...
this is the exception i got while running my client jar file...
i;m not able to correct it...i'm using netbeans 6..
my client method is as given below...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.setSecurityManager(new RMISecurityManager());
int itemid;
String serverName ="";
String itid="";
serverName = "localhost";
ResultSet res=null;
itid=jTextField1.getText();
//itemid=Integer.parseInt(itid);
System.out.println(itid);
try
//bind server object to object in client//rmi://host:<port>/correlator
ebillRMIInterface ebillserver = (ebillRMIInterface) Naming.lookup("rmi://"+serverName+"/ebillRMIImplInstance");
System.out.println("asd");
//invoke method on server object
/*Date d = myServerObject.getDate();
System.out.println("Date on server is " + d);*/
String str="select * from Stock where itemid='"+itid+"'";
res=ebillserver.select(str);
while(res.next())
jTextField2.setText(res.getString(2));
Float price=res.getFloat(4);
String pr=String.valueOf(price);
jTextField3.setText(pr);
String str1="update Stock set itemname='Tea250' where itemid='1'";
ebillserver.insert(str1);System.out.println("updated ");
catch(Exception e)
System.out.println("Exception occured: " + e);
//System.exit(0);
System.out.println("RMI connection successful");
}The remote object hasn't bound itself to that registry under that name.
-
RemoteException: java.rmi.UnmarshalException in jdk 1.4.2
i'm implementing an RMI over the jdk 1.4.2 (can't do it in the 1.5 or 1.6) i've seen this topic [http://forum.java.sun.com/thread.jspa?threadID=370196&messageID=1808449] but it didn't help me, or i'm doing something wrong...
i know the RMI code is ok because it runs on java 1.6 (with the automatic generation of stubs and skeletons) but when i change the platform to 1.4 it throws the exception:
RemoteException: java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: servidor.MensageiroImpl_Stub
the VM is configured to use the -Djava.security.policy=C:\Projecto\Policy\permissions.policy both in the client and server
please help me :S i've been burning my head with this for 3 days
i leave my code here:
The interface:
package rmiinterface;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Mensageiro extends Remote {
public void sendMsg(String msg) throws RemoteException;
public String readMsg() throws RemoteException;
}the implementation:
package servidor;
import rmiinterface.Mensageiro;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class MensageiroImpl extends UnicastRemoteObject implements Mensageiro {
public MensageiroImpl() throws RemoteException {
super();
public void sendMsg(String msg) throws RemoteException {
System.out.println(msg);
public String readMsg() throws RemoteException {
return "This is not a Hello World! message";
}the server:
package servidor;
import rmiinterface.Mensageiro;
import java.rmi.Naming;
import java.rmi.RMISecurityManager;
public class MensageiroServer {
public MensageiroServer() {
System.setSecurityManager(new RMISecurityManager());
try {
Mensageiro m = new MensageiroImpl();
java.rmi.registry.LocateRegistry.createRegistry(1099);
System.out.println("RMI registry successfully initiated");
Naming.rebind("MensageiroService", m);
System.out.println("Servidor Online");
} catch (Exception e) {
System.out.println("Trouble: " + e.getMessage());
public static void main(String[] args) {
new MensageiroServer();
}and the client:
package cliente;
import rmiinterface.Mensageiro;
import java.rmi.RMISecurityManager;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.NotBoundException;
import java.net.MalformedURLException;
public class MensageiroClient {
public MensageiroClient() {
public static void main(String args[]) {
System.setSecurityManager(new RMISecurityManager());
try {
Mensageiro m = (Mensageiro) Naming.lookup("//localhost/MensageiroService");
System.out.println(m.readMsg());
m.sendMsg("Hello World!");
} catch (MalformedURLException e) {
System.out.println();
System.out.println("MalformedURLException: " + e.toString());
} catch (RemoteException e) {
System.out.println();
System.out.println("RemoteException: " + e.toString());
} catch (NotBoundException e) {
System.out.println();
System.out.println("NotBoundException: " + e.toString());
} catch (Exception e) {
System.out.println();
System.out.println("Exception: " + e.toString());
}NOTE: my IDE is Netbeans 6.1. and the client and server are in diffrent projects
thanks in advance
Best Regards,
Carlos Daniel Ribeirothe stub and the skeleton are being generated, and they are there, in the server project! i don't know why the class defs for the stub filearen't downloded by the client project...I don't know why you think they will be downloaded. They won't be, unless you're using the codebase feature. The client needs the remote interface and the stub on its classpath, and all classes that the remote interface depends on, and so on recursively until closure. You have to do something about that.
It works under 1.6 because it doesn't need the stub at all. -
Exception:java.rmi.AccessException: CORBA NO_PERMISSION 0 No
I was trying to run the Cart example with the J2EE but got the above exception. I was successful with the Converter example but not work with this one.
Please help
TomHere is the exact message:
D:\OnlineBooks\j2eetutorial\examples\ears>runclient -client CartApp.ear -name Ca
rtClient -textauth
Initiating login ...
Enter Username:guest
Enter Password:guest123
Binding name:`java:comp/env/ejb/SimpleCart`
Caught an unexpected exception!
java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
org.omg.CORBA.NO_PERMISSION: minor code: 0 completed: No
org.omg.CORBA.NO_PERMISSION: minor code: 0 completed: No
at java.lang.Class.newInstance0(Native Method)
at java.lang.Class.newInstance(Class.java:237)
at com.sun.corba.ee.internal.iiop.messages.ReplyMessage_1_2.getSystemExc
eption(ReplyMessage_1_2.java:93)
at com.sun.corba.ee.internal.iiop.ClientResponseImpl.getSystemException(
ClientResponseImpl.java:108)
at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOACli
entSC.java:132)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:459)
at CartHomeStub.create(Unknown Source)
at CartClient.main(CartClient.java:26)
at java.lang.reflect.Method.invoke(Native Method)
at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:22
9)
at com.sun.enterprise.appclient.Main.main(Main.java:155) -
I have created a test program to check the behaviour of setting the java.rmi.server.ignoreStubClasses property to true on the server side and not setting this flag on the client side.
This requirement is due to updation of an already running system, with stubs to a new version without stubs, without shutting down the system.
The files used by me are given below.
File Hello.java
package example.hello;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
String sayHello() throws RemoteException;
File Server.java
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
public class Server implements Hello {
public Server() {}
public String sayHello() {
return "Hello, world!";
public static void main(String args[]) {
try {
LocateRegistry.createRegistry(1099);
Server obj = new Server();
Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);
// Bind the remote object's stub in the registry
Registry registry = LocateRegistry.getRegistry();
registry.bind("Hello", stub);
System.err.println("Server ready");
catch (Exception e)
System.err.println("Server exception: " + e.toString());
e.printStackTrace();
File Client.java
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
private Client() {}
public static void main(String[] args) {
String host = (args.length < 1) ? null : args[0];
try {
Registry registry = LocateRegistry.getRegistry(host);
Hello stub = (Hello) registry.lookup("Hello");
String response = stub.sayHello();
System.out.println("response: " + response);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
First I run file Server.java using the following script (server.bat)
java -Djava.rmi.server.ignoreStubClasses=true -classpath .; example.hello.Server
pause
Then the client is run using the following script (client.bat)
java -classpath .; example.hello.Client 132.186.96.210
pause
While running the client, the following exception is obtained.
Client exception: java.rmi.ServerException: RemoteException occurred in server thread; nested except
java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at example.hello.Client.main(Client.java:52)
Caused by: java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:243)
... 6 more
I am not able to figure out why this thing is happening, If i also set the property java.rmi.server.ignoreStubClasses=true on the client side everything goes fine. But this I can't do. I can't set the property on the client side as the system is up and already running.
I am using JDK version 1.5.0_06. Same exception comes under JDK 6.0
Any help will be highly appreciated.I think this is a bug. When you exported the Registry from your server JVM it was also exported with java.rmi.server.ignoreStubClasses=true, but the Registry bootstrap at the client requires the 1.1 stub protocol for compatiblity reasons so you got this error. I would report this on the Bug Parade.
You could get around it by setting java.rmi.server.ignoreStubClasses after exporting the Registry.
BTW java.rmi.server.ignoreStubClasses isn't supposed to do anything at the client whether true or false so you can cut your testing space in half. -
Java.rmi.server.SkeletonMismatchException: interface hash mismatch
I am trying to get a MBORemoteSet from the session, which actually gives me the list from the database table. when i click on a combo box returning me the list using the MBOSetRemote object it throws me the exception.
could not load the labor codes from Maximo
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.server.SkeletonMismatchException: interface hash mismatch
java.rmi.server.SkeletonMismatchException: interface hash mismatch
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:240)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:349)
at worktech.app.labor.WTLaborSet_Stub.setWhere(Unknown Source)Well this error occurs if the RMI files are different on the server and client side.
It basically tells you that the stub and skeleton don't match with each other. Get the latest version of the RMI jar file or whatever file you are using on the server side to replace the file you are using oon the client side. This would make stub and skeletons to communicate with each other effectively . enjoy :) -
Java.rmi.MarshalException: error marshalling arguments
I've two class Client and Main. Eventnotify is implemented in class Client using RMI techniques. Here is sample
public interface EventNotify extends Remote {
void SendNotification (String str) throws RemoteException;
public class Client implements EventNotify {
//implementation of EventNotify
public void SendNotification(String str) {
System.out.println("from srver: ..." +str);
class Main {
public static void main(String[] args) {
Client clnt = new Client();
int val = stub.register_client(host, clnt); //THE ERROR IS HERE
The idea is to pass remote objects from client to a server. I've a server program running continously, but the problem is on passing objects of type Client. I'm facing marshaling problem.
AND THE ERROR IS
Client exception: java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: Client
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: Client
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:156)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:195)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:149)
at $Proxy0.register_client(Unknown Source)
at Main.main(Client.java:74)
Thanks for helping.
Caused by: java.io.NotSerializableException: Client
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:343)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:292)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:151)Probably I have a similar problem while calling remote object's method with parameter looks like that :
public class ParamClass extends AbstractParamClass implements Runnable,
java.io.Serializable {
private NodeList field1; // part of crimson's tree
private NamedNodeMap field2 = null;// part of crimson's tree
public class RmiRemote extends AbstractRemote { // Remote Object Class
@Override
public Object remoteMethod1() throws RemoteException{
ParamClass param = new ParamClass("build with crimson");
CustomInterface stub = (CustomInterface) registry.lookup(name);
stub.callRemoteMethod(param); // exception here
java.rmi.MarshalException: error marshalling arguments; nested exception is:
java.io.NotSerializableException: org.apache.crimson.tree.AttributeSet
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:138)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)when I build param object with xerces - no exception occurs . Other methods of remote object doing well. Remote object extends AbstractRemote superclass derived from UnicastRemoteObject. How can I avoid this problem and call method with crimson's tree fields parameter?
Thank you. -
Java.rmi.UnmarshalException: error unmarshalling arguments;
Hi!
I'm a newbe with rmi, and I try to use a test program, from Thinking in Java:
ITiempoPerfecto.java
package c15.rmi;
import java.rmi.*;
interface ITiempoPerfecto extends Remote {
long obtenerTiempoPerfecto() throws RemoteException;
TiempoPerfecto.java
package c15.rmi;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
public class TiempoPerfecto extends UnicastRemoteObject implements ITiempoPerfecto {
public long obtenerTiempoPerfecto () throws RemoteException {
return System.currentTimeMillis();
public TiempoPerfecto() throws RemoteException {
super();
public static void main(String[] args) throws Exception {
System.setSecurityManager(new RMISecurityManager());
TiempoPerfecto tp=new TiempoPerfecto();
Naming.bind("//localhost/TiempoPerfecto",tp);
System.out.println("Preparado para dar la hora");
}and
MostrarTiempoPerfecto.java
package c15.rmi;
import java.rmi.*;
import java.rmi.registry.*;
public class MostrarTiempoPerfecto {
public static void main(String[] args) throws Exception {
System.setSecurityManager( new RMISecurityManager());
ITiempoPerfecto t=(ITiempoPerfecto)Naming.lookup("//localhost/TiempoPerfecto");
for (int i=0;i<10;i++)
System.out.println("Tiempo perfecto: "+t.obtenerTiempoPerfecto());
}I compile all the files normally.
Later I do:
rmiregistry &
rmic c15.rmi.TiempoPerfecto(This only generate the file TiempoPerfecto_Stub.class, it's ok?)
Without warnings or errors. But when I try to create a server object
java c15/rmi/TiempoPerfectoI obtain this:
Exception in thread "main" java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: c15.rmi.TiempoPerfecto_Stub
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:385)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:240)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
.......What is the mistake? What may I do to run this programs?
Thank you!You must change your current directory to your class path (EX: java c15/rmi/TiempoPerfecto) then execute command remiregistry.
-
Javax.ejb.CreateException, java.rmi.RemoteException
When I deployed my war file and jar file on jboss server I am getting the following exception:
what will be cause:
10:32:03,051 ERROR [LogInterceptor] EJBException in method: public abstract com.cisco.avm.jbossmysqlejb.CustomerSessionRemote com.cisco.avm.jbossmysqlejb.CustomerSessionRemoteHome.create() throws javax.ejb.CreateException,java.rmi.RemoteException:
javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract com.cisco.avm.jbossmysqlejb.CustomerSessionRemote com.cisco.avm.jbossmysqlejb.CustomerSessionRemoteHome.create() throws javax.ejb.CreateException,java.rmi.RemoteExceptionSLSB have only one constructor. If you have another overloaded. It will never be called.
Regds
Ashwani -
Error: while generating SQL.java.rmi.ServerException:
Hi:
I tried the JGuru's "MusicStore" example. HOwever at Task 6 and 7 I am getting the following error:
Error: while generating SQL.java.rmi.ServerException:
RemoteException occured in server thread; nested exception is:
* java.rmi.RemoteException: Error connecting to database;
nested exception is:
* SQL Exception: Failed to start database 'MusicStoreDB', see
the next exception for details.
Please make sure the database name/user/password is valid
and the J2ee server and database are running.
However when i check my database it is running perfectly:
E:\>%j2ee_home%\bin\cloudscape -start
Sun Feb 16 12:48:11 PST 2003: [RmiJdbc] Starting Cloudscape RmiJdbc Server Version
Sun Feb 16 12:48:14 PST 2003: [RmiJdbc] COM.cloudscape.core.JDBCDriver registered i
Sun Feb 16 12:48:14 PST 2003: [RmiJdbc] Binding RmiJdbcServer...
Sun Feb 16 12:48:14 PST 2003: [RmiJdbc] No installation of RMI Security Manager...
Sun Feb 16 12:48:14 PST 2003: [RmiJdbc] RmiJdbcServer bound in rmi registry
Server:
J2EE server listen port: 1050
Naming service started:1050
Binding DataSource, name = jdbc/DB2, url = jdbc:cloudscape:rmi:CloudscapeDB;crea
te=true
Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:Cloudscape
DB;create=true
Binding DataSource, name = jdbc/InventoryDB, url = jdbc:cloudscape:rmi:Cloudscap
eDB;create=true
Binding DataSource, name = jdbc/DB1, url = jdbc:cloudscape:rmi:CloudscapeDB;crea
te=true
Binding DataSource, name = jdbc/MusicStore, url = jdbc:cloudscape:rmi:MusicStore
DB;create=false
Binding DataSource, name = jdbc/XACloudscape, url = jdbc/XACloudscape__xa
Binding DataSource, name = jdbc/XACloudscape__xa, dataSource = COM.cloudscape.co
re.RemoteXaDataSource@1d88db7
Starting JMS service...
Initialization complete - waiting for client requests
Binding: < JMS Destination : jms/Topic , javax.jms.Topic >
Binding: < JMS Destination : jms/Queue , javax.jms.Queue >
Binding: < JMS Cnx Factory : TopicConnectionFactory , Topic , No properties >
Binding: < JMS Cnx Factory : QueueConnectionFactory , Queue , No properties >
Binding: < JMS Cnx Factory : jms/QueueConnectionFactory , Queue , No properties
>
Binding: < JMS Cnx Factory : jms/TopicConnectionFactory , Topic , No properties
>
Starting web service at port: 8000
Starting secure web service at port: 7000
J2EE SDK/1.3.1
Starting web service at port: 9191
J2EE SDK/1.3.1
J2EE server startup complete.
Can anyone suggest me a way out..plzwhat type of persistent u r using also post ur query if bmp and check with another example with cmp.
-
Java.rmi.ServerException Problem
The exception that has occured is java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: Process00Impl_Stub
I have the interface, Client, Server and the Implementation java files
in the same machine.
11/29/2002 08:52p 282 Process00.class
11/29/2002 08:25p 221 Process00.java
11/29/2002 07:40p 215 Process00.java.bak
11/29/2002 08:56p 1,008 Process00Client.java
11/29/2002 08:55p 1,010 Process00Client.java.bak
11/29/2002 08:57p 451 Process00Impl.class
11/29/2002 08:57p 936 Process00Impl.java
11/29/2002 08:52p 934 Process00Impl.java.bak
11/29/2002 08:57p 2,153 Process00Impl_Skel.class
11/29/2002 08:57p 3,938 Process00Impl_Stub.class
11/29/2002 08:56p 995 Process00Server.class
11/29/2002 08:57p 645 Process00Server.java
11/29/2002 08:56p 643 Process00Server.java.bak
I also have the _Stub.class. I do not know why I get this error. If any
one have an idea, kindly share with me.
Thanks.Hi,
I had the same problem. In my machine, path was having jre1.1.7 before my jdk 1.4. So it was picking up from jre1.1.7.
Java was happy when I moved my jdk1.4 path to the beginning of the path variable.
Hope this helps you.
Maybe you are looking for
-
How do I access camera raw in PSE 11?
I can't figure out how to access the Camera Raw plug-in for Photoshop Elements 11, on a Macbook Pro OSX. In PSE, when I select "about plug-in" it brings up a box that shows version 7.1.0.354. Does that mean it's already installed? If so, how do I
-
Hello Gurus, I have written a SP in an ODI Procedure [not calling an SP]. The tables are located in the ODIDEV schema on another Oracle instance. I have successfully used the same SP but my odidev schema has been on the same oracle instance as my oth
-
i application URLRequest to post a new html page,which have some question for IE program: var url:URLRequest=new URLRequest("vodplay.html?name=22222"); navigateToURL(url,"_self"); when i apply ie to run this page,this param is null. when i app firefo
-
Tiger 10.4.5 on a Cube: add Classic?
I have a 450MHz Cube, which had the drive reformatted and the Retail Tiger 10.4.4 installed; this is updated to 10.4.5. I have a 'Power Mac G4 Software Install' disk, part#691-2996-A, with OS 9.2. Can I get from here to a working Classic environment?
-
Problem when importing several (2,3 or 4) video files into one project.
Im creating a project video with several videos running at the same time in one screen. Sort of like a surveillance with different videos but for some reason one of the video file seems to change from 45 seconds to 3 minutes. When all of the video