In my design I use the adpater design pattern (server-side). The adpater class has two important roles, firstly its has all the server-side business logic in it and is used in both remote and local mode.
Why does java not allow packages from java.lang when I'm connecting from another machine? I get an unmarshaling error:
java.rmi.UnmarshalException: Error unmarshaling return;
nested exception is:
java.lang.SecurityException: Prohibited package name: java.lang
java.lang.SecurityException: Prohibited package name: java.lang
<exception cut here>
-----------------------------------------------
When mixing different versions of java, the java security manager on the java VM where the catalog is running decides that one version is trying to override the restricted packages. It's not actually true, but that's why it happens. You can prevent this from happening by running the catalog on the lowest version of java that you are mixing together. This usually happens with the iPaq handheld platform (H21). So if you have a machines running jdk1.3.1, 1.4.0 and 1.4.1_beta, the catalog must be run on 1.3.1.