我有两个Web应用程序,第一个RMIServer包含以下
public interface EasyPDFGeneratorRemoteInterface extends Remote {
public File generatePDFAmin(File sourceFile) throws RemoteException ;
}
public class EasyPDFGenerator extends UnicastRemoteObject
implements EasyPDFGeneratorRemoteInterface {
public File generatePDFAmin(File sourceFile) {
//implementation details....
}
然后在注册表中注册了EasyPDFGenerator类型的对象。
第二个包含
public interface EasyPDFGeneratorRemoteInterface extends Remote {
public File generatePDFAmin(File sourceFile) throws RemoteException ;
}
class test {
private File generatePDF(File file) {
File pdfFile = null;
try {
EasyPDFGeneratorRemoteInterface easyPDFGenerator = getRemoteEasyPDFGenerator();// get the remote object.
easyPDFGenerator.getClass.getMethods();// the array contains the method generatePDFAmin.
pdfFile = easyPDFGenerator.generatePDFAmin(file);// throws the exception.
} catch (RemoteException ex) {
}
}
}
我不确定因为获取远程对象会导致什么问题,并且它确实包含调用UnmarshalException时抛出的方法。
答案 0 :(得分:3)
您更改了远程接口定义,但未重新部署受影响的所有.class文件。如果您使用生成的存根,则无法重新生成存根。