当前位置: 首页 > 知识库问答 >
问题:

java.rmi.取消编组异常:取消编组错误

潘畅
2023-03-14

当我试图从struts的action类(即RMI客户端)访问RMI serevr时(点击jsp按钮),我得到了这个执行选项

java.rmi.UnmarshalException: error unmarshalling return; nested exception is:    
    java.lang.ClassNotFoundException: com.mindcraft.queryExecutor.actionclass.ExecutorInterface (no security manager: RMI class loader disabled)  

下面是我的RMI客户端代码片段

try{   
        ExecutorInterface p=(ExecutorInterface)Naming.lookup("//localhost:2007/exec1");   
        System.out.println("Inside client.."+ p.toString());   
        int a= p.getJobStatus("2");   
        System.out.println("a..." + a);   
        p.killJob("1");   
            p.executeJob(id, usrname, pswd);   
        System.out.println("Threads started, main ends\n");   
        }   
        catch(Exception e)   
        {   
            System.out.println("Execption in RMI..."+ e);   
            e.printStackTrace();   
        }  

当我使用public static void main()在单独的文件中尝试上面的代码时,这很好,但当我在struts框架的Action类中尝试相同的代码时,出现了上述异常。

共有3个答案

姬俊驰
2023-03-14

在新的Java 7和Java 6版本中,验证发生了变化。Bug id为:6861062 java类\u安全性在证书链验证中禁用MD2。

在签署Jara文件时,我收到了一些警告消息,在执行命令时:jarsigner MyTools。jar-verify-verbose-certs

我收到消息:X.509,OU=第3类公共初级认证机构,O=VeriSign,Inc.,C=US[证书从29.01.96 01:00到02.08.28 01:59有效][CertPath未验证:算法约束检查失败:MD2 with RSA]

我的解决方案是:-使用另一个版本的JDK签名和JRE插件。-更新您的证书安全性,以便不使用此算法。

孙斌
2023-03-14

请务必注意以下内容以避免此错误:

  1. 您必须确保服务器中的接口名称与客户端中的接口实现相同。
  2. 确保包的名称,在客户端中放置接口的位置与在服务器中放置接口的包的名称相同。
徐高懿
2023-03-14

在附近发现了这个:

设置安全策略文件,例如:

grant {  
permission java.security.AllPermission "", "";  
};

在启动命令中:

-Djava.security.policy=/Security/policy.all

资料来源:链接

试试看,如果管用就告诉我。

 类似资料:
  • 我需要你在JAXB编组方面的帮助。这是关于命名空间的。我在这个令人惊叹的网站上阅读了不同的博客和很多答案,但我还没有意识到如何解决我的问题。 我需要用一些复杂的(至少对我来说)名称空间生成一个XML。 如您所见,该XML具有 < code > xmlns:xsi = " http://www . w3 . org/2001/XML schema-instance " 和 http://www.sa

  • 问题内容: 我正在尝试将JSON解组到结构中,但是事实证明这很困难,因为外部JSON密钥发生了变化,而我才在一周前才开始使用。这是我的手动尝试: 有没有一种方法可以忽略键并遍历值,从而允许我使用json.Unmarshal(b,&Device)? 问题答案: 您有一系列JSON对象, 将 一个唯一的ID 映射 到每个。将其解组为 https://play.golang.org/p/JDZzG64j

  • 我正在使用 JAXB 来对我正在实现 Java 客户端的 Web 服务进行封送和解组和取消马歇尔请求和响应。然而,我被困在以下回应上,我需要解体。 为了将响应表示为Java对象,我有以下域类: 然后,我执行以下操作来解除元帅: 解编组没有发生任何事件。 对象是使用两个列表创建的。为空,有一项。但是,该项目上的和 null。我认为这与XML命名空间有关,但我无法弄清楚如何修复它。 我尝试了另一种方式

  • 我有几个带有可选根元素的xml文件: 否则,xml结构是相同的。 我想在同一个pojo中取消封送这些文件。 我看到可以在运行时更改编组操作中的元素的名称 有没有可能在解组运行时指明根元素的名称? 乌尔蒂级 : 散集方法:

  • 问题内容: 我正在从第三方网站(家庭用电)中检索JSON,并且根据我从该站点的要求,返回的JSON可能是数组,也可能不是数组。例如,如果我请求我的智能电表列表,则会得到以下信息(由于尺寸较大,结果被截断了): 其中 gwrcmd 是单个元素。 但是,如果我要求最近半小时用电,则会得到以下信息: 看看 gwrcmd 现在是一个数组吗? 在我的Go应用程序中,我有一个看起来像这样的结构(再次被截断了一