我正在尝试找出导致 glassfish 中一条恼人消息污染我们日志文件的原因。
为了简化我们的设置,我们有 2 个 glassfish 服务器运行 3.1.2.2。
服务器 A 在其上部署了一个 Web 服务,使用 Web 服务中的角色以及 sun-ejb-jar.xml 和 sun-application.xml 中的映射定义的基于证书的安全性。
服务器 B 上部署了一个远程 EJB,没有配置安全性。
在服务器 B 上调用远程 EJB 时,从服务器 A 上的 Web 服务使用如下代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", server.getServer());
props.setProperty("org.omg.CORBA.ORBInitialPort", Integer.toString(server.getEjb3Port()));
InitialContext ic = new InitialContext(props);
return ((MyIF)ic.lookup(MyIF.class.getName())).doWork();
服务器 A 上的日志记录了以下内容,但 EJB 调用按预期工作。
[#|2012-09-20T08:43:42.141+0100|SEVERE|glassfish3.1.2|javax.enterprise.system.core.security.com.sun.enterprise.iiop.security|_ThreadID=26;_ThreadName=Thread-2;|IIOP1002: Principal propagation: Cannot find principal information in subject|#]
有没有人遇到过这个错误并且知道如何解决这个问题?
消息上的Oracle 文档不是很有帮助。
IIOP1002 主体传播:在主题中找不到主体信息
原因:主题中没有找到主体信息
行动:请检查身份传播的配置设置