问题标签 [iiop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
272 浏览

jakarta-ee - 在 GlassFish 4.1.2 应用程序上更新 JPA 实体时,为什么我的应用程序客户端会报告 StreamCorruptedException?

我有一个应用程序客户端,它使用在 GlassFish 4.1.2 上运行的应用程序执行以下操作:

  • 创建一个新的 person JPA 实体。
  • 在服务器上调用 create 方法并传递新人。
    • 注意:服务器创建一个 person 和 person2 实体。
  • 从服务器检索 person2 JPA 实体。
  • 向 person2.notes List 属性添加注释。
  • 在服务器上调用更新方法并传递更新的实体。

服务器正确更新 person2 实体并且不报告任何错误。但是,客户端在运行更新方法时会报告以下错误。

以下是创建 person 和 person2 实体的应用程序客户端代码。

以下是更新 person2 实体的应用程序客户端代码。

以下是更新 person2 的服务器代码:

如果我注释掉 updatePerson2 方法中除返回行之外的所有代码,应用程序客户端不会报告任何问题,因此 updatePerson2 方法中的某些内容正在破坏流。

0 投票
0 回答
106 浏览

ejb - 访问部署在 Glassfish 4 payara 服务器上的安全 EJB (@RolesAllowed) 时出错

访问部署在 GlassFish-A 上的安全 EJB ( ) 时出现错误@RolesAllowed,我正在从部署在 Glassfish-B 上的应用程序访问此 EJB。

引起:java.lang.RuntimeException:在 com.sun.enterprise 使用 com.sun.enterprise.iiop.security.SecurityContextUtil.getSecurityContext(SecurityContextUtil.java:141) 的身份运行时,无法传播目标所需的用户名/密码。 iiop.security.SecClientRequestInterceptor.send_request(SecClientRequestInterceptor.java:271) 在 com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeClientInterceptorStartingPoint(InterceptorInvoker.java:290) 在 com.sun.corba.ee.impl.interceptors。 PIHandlerImpl.invokeClientPIStartingPoint(PIHandlerImpl.java:378) 在 com.sun.corba.ee.impl.protocol.ClientRequestDispatcherImpl.beginRequest(ClientRequestDispatcherImpl.java:323) 在 com.sun.corba.ee.impl.protocol.ClientDelegateImpl.request( ClientDelegateImpl.java:220) 在 com.sun.corba.ee.impl.presentation.rmi。StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:192) 在 com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150) 在 com.sun.corba.ee.impl.presentation.rmi。 codegen.CodegenStubBase.invoke(CodegenStubBase.java:226) at com.sun.ejb.codegen._GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java) 在 sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:428) .. . 107 更多com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226) 上 com.sun.ejb.codegen 上的presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)。 _GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java) 在 sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect。 Method.invoke(Method.java:498) at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:428) ... 107 更多com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226) 上 com.sun.ejb.codegen 上的presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)。 _GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java) 在 sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect。 Method.invoke(Method.java:498) at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:428) ... 107 更多_GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java) 在 sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect。 Method.invoke(Method.java:498) at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:428) ... 107 更多_GenericEJBHome_Generated_DynamicStub.create(com/sun/ejb/codegen/_GenericEJBHome_Generated_DynamicStub.java) 在 sun.reflect.GeneratedMethodAccessor131.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect。 Method.invoke(Method.java:498) at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:428) ... 107 更多

0 投票
0 回答
44 浏览

security - 如何解决此 Glassfish-4 EJB(@RolesAllowed) 查找问题

我正在尝试查找部署在不同 Glassfish 实例上的 bean。我的应用程序正在另一个 glassfish 实例上运行。

EJB 在类级别具有@RoleAllowed("APPUSERS") 注释。

我在这两个实例上都创建了自定义领域和 JACC 提供程序。

当我尝试查找 Bean 时,它会给出 NamingException 和 Corba No Permission 错误。

0 投票
1 回答
160 浏览

wireshark - Wireshark Corba stub 反编译

我试图找到一种方法来反编译我通过wireshark找到的omniorb CORBA存根。该技术似乎很旧,因为我找不到任何新的深度文档。这是请求的数据:

我现在正在尝试获取信息,我不应该说有关密码和用户名的内容。不过,这些凭据只是测试凭据。有没有办法找出这里传输的内容?我将非常感谢任何帮助,因为我真的被困住了。

0 投票
1 回答
829 浏览

websphere - 从另一个 WebSphere 配置文件访问一个 Websphere 配置文件中的远程 EJB

简而言之:我对无状态 bean 从一个 Websphere 服务器进行远程 JNDI 调用到另一个(同一台机器上不同 JVM 中的不同配置文件)但调用完成后,InitialContext 被更改,我无法再访问我的本地 bean .

情况如下:
Websphere 服务器 Server1 有一个包含许多 bean 的复杂应用程序,并且还需要访问运行另一个应用程序的 Websphere Server2 上的无状态 bean (BeanX)。
我已经设法使用以下两种方法之一访问 Server2 上的 BeanX:

  1. 通过代码连接:

    /li>
  2. 通过 Webshere 配置连接在 Server1 中配置:Environment -> Naming -> Name Space binding -> New ... Indirect 并引入了所需的值,对应于从 Server2 暴露的 bean。
    提供者 URL:corbaloc:iiop:localhost:9101
    初始上下文工厂名称:com.ibm.websphere.naming.WsnInitialContextFactory
    然后继续在代码中获取 bean,就好像它在我的本地上下文中一样。

我为 Server1 中的 Outbound 和 Server2 中的 Inbound 删除了 RMI/IIOP 的安全性,以便服务器可以通信。
bean 由 Server2 公开,远程接口RemoteBeanXManager存在于两个应用程序的公共包中,并且调用正确通过。

问题出现在调用之后,当Server1中为其本地bean 的后续 EJB 注入返回一个com.ibm.ejs.container.util.ExceptionUtil.NoSuchEJBException

基本上,在@EJB遇到下一个注解时,Server1 会抛出:

com.ibm.ejs.container.EJBNotFoundException:名为 SomeOtherBean 的 EJB 不在应用程序“我的企业应用程序”中。在 com.ibm.ejs.container.HomeOfHomes.resolveEJBLink(HomeOfHomes.java:751)

我在调查时设法理解的是,InitialContextServer1 上的连接被与 Server2 的连接更改,并且在通过远程接口调用后无法“重置”回来。我尝试在获取InitialContext远程管理器后使用默认设置重新获取,但无济于事。
我尝试添加可选配置参数:
com.ibm.websphere.naming.jndicache.cachename providerURL
com.ibm.websphere.naming.jndicache.cacheobjectnone

还是一样的例外。

如果您对如何隔离/缓存 Server1 上的上下文以便它可以在 RMI-IIOP 调用后恢复正常操作有任何想法,请告诉我

更新添加:
当我注释掉执行远程调用的代码时,应用程序正确启动,并且所有@EJB注入工作。

Server2中,在从 Server1 调用方法时 - 无一例外,只有这些消息:

Server1错误的完整堆栈跟踪是:
[我认为发布所有事件报告会太长。]

0 投票
1 回答
229 浏览

jboss - Wildfly 中 Jacorb 的问题

只是我想在wildfly 13中使用一些我自己的jacorb实现,而且我正在wildfly 13中使用iiop open jdk。启动服务器时出现错误,由于此错误,我无法成功运行应用程序。

错误是:[javax.enterprise.resource.corba. CORBA .rpc.transport] (SelectorThread) "IOP00710304: (INTERNAL) Worker thread Thread[p: default-threadpool; w: Idle,5,ORB ThreadGroup 2] 已使用 ClassLoader ModuleClassLoader for Module "deployment.VisionWeb.war" 创建来自服务模块加载程序”:org.omg.CORBA.INTERNAL:vmcid:SUN 次要代码:304 已完成:否。

请让我知道最好的解决方案。

0 投票
2 回答
846 浏览

weblogic - 我怎样才能获得关于 weblogic 的所有 mbean?

当我使用 jconsole 访问 weblogic 的 mbean 时,我只能得到一些关于 jvm 的信息,比如'java.lang'。但我想要得到的是关于'jdbc'、'jta'、'ejb'、'servlet'......

不知道能不能通过service:jmx:rmi:///jndi/rmi://10.0.99.102:7997/jmxrmi 用用户名和密码得到这些指标。我觉得很有可能是我的配置有错误,但是我没有不知道问题出在哪里。

然后我尝试了另一种方式。我启用了iiop,但我无法通过iiop访问它。我遇到了一些错误,例如无法检索 RMIServer 存根:javax.naming.NameNotFoundException。尝试解决这个错误,我将 wljarbulder.jar 添加到我的项目中,然后出现另一个错误,'查找中未处理的异常,原因是:javax.naming.NamingException 查找中未处理的异常 [根异常是 org.omg.CORBA.NO_PERMISSION ...'。

我只需要获取 weblogic 的 mbean 信息,我正在尝试通过 jmx 监控 weblogic。(我收集了weblogic的snmp oid,但是还不足以完成我的监控计划)

谢谢你。

0 投票
0 回答
121 浏览

java - javax.naming.ConfigurationException:PortableRemoteObject.toStub() 的问题;未导出对象或未找到存根

我正在编写一个 Iiop 服务器,当我尝试运行它时遇到以下错误:

根据我所读到的有关此错误的信息,我需要一个对象的强类型声明,以便垃圾收集器不会丢弃它,因此为什么我尝试添加一个函数对象来执行此操作,但错误仍然存​​在,两者在正常运行和断点的情况下,在 ctx.rebind 行触发错误。

ExecRmiImpl() 类现在是这样的:

我究竟做错了什么?

0 投票
0 回答
3310 浏览

java - 从 Oracle JDK8 迁移到 Open jdk11,寻找 rmi 替代品

我正在从 Oracle JDK8 迁移到 OpenJDK11。我面临 exportObject(new Myobj) 调用的问题。

由于 rmi 在 jdk11 中被删除,我使用 glassfish jar 来使用 PortableRemoteObject 来导出和查找远程对象

我正在使用来自 glassfish 的下面的罐子来获取 openjdk11 中缺少的类。

  • glassfish-corba-omgapi
  • glassfish-corba-orb
  • javax.transaction.api
  • pfl-动态
  • pfl-基础
  • glassfish-corba-internal-api
  • pfl-tf.jar

我期待 javax.rmi.PortableRemoteObject.PortableRemoteObject.exportObject() 像在 JDK8 中一样工作。但我得到了错误。我尝试使用 glassfish 罐子中的 com.sun.corba.ee.impl.javax.rmi.PortableRemoteObjet 和 com.sun.corba.se.impl.javax.rmi.PortableRemoteObject 。但仍然面临同样的错误。

java.rmi.NoSuchObjectException:对象未在 javax.rmi.PortableRemoteObject.toStub(PortableRemoteObject.java:132) 的 com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject.toStub(MyClass.java:18) 处导出

RMIC 的 Ant 任务

公共类 MyNode {

}

0 投票
3 回答
1921 浏览

ejb - 如何在 WebSphere 中找到 InitialContext 详细信息?

我正在设置一个访问已部署 EJB 的 servlet 客户端。EJB 部署在 2 节点设置中WebSphere 8.5。在每台服务器上,我将部署访问 EJB 的 Servlet。人们将连接到内部将连接到 EJB 并返回响应的 Servlet。

要访问 EJB,我需要初始化上下文。我相信代码看起来在下面几行。

我的问题是:

  • 我在哪里可以找到iiop//host:port连接 EJB 的主机和端口。WebSphere 管理控制台中的某个地方?有配置文件吗?

  • 因为我有 3 个节点设置。我在每个节点中有 2 个名为 ClusterServlet 和 ClusterEJB 的集群。IIOP 主机和端口会因节点而异,还是在两个节点之间是一致的?

[编辑 1]:当我尝试从运行 WAS 的同一主机访问 EJB 时,出现以下错误

javax.naming.NameNotFoundException:在上下文“serverlocal:CELLROOT/SERVERROOT”中找不到名称“EjbSample”