How to invoke an EJB running on a current JBoss EAP / JDK from a legacy application running on an old JDK
Environment
Red Hat JBoss Enterprise Application Platform (EAP)
Issue
-
We have the legacy system which is using Jboss 4.2.2 and client on java 1.5. And we're using jnp protocol for communicating between client and ejb on jboss 4.2.2. Now we're upgrading our application to be able to run on JBoss EAP 7.1. Unfortunately, jnp is no longer available on EAP 7.1, and we cannot upgrade java version on client environment.
-
We tried to use org.wildfly.naming.client.WildFlyInitialContextFactory from a client on JDK 1.5 but both is getting bad version
-
Is there a way to invoke EJB remotely from client which is running on Java 1.5 environment?
Resolution
We recommend updating your JBoss EAP and JDK versions to be current as End of Life versions may have security and other bugs in them.
The only way to invoke an EJB on a JBoss EAP that requires a newer JDK than the client is running on is to invoke the EJB via IIOP, see [1].
[1] How to expose an EJB via IIOP and call it in JBoss EAP 7 / 6
Related Solutions
- How to enable EJB IIOP in JBoss EAP 7 / 6
- How to configure an EJB client in JBoss EAP 6 / 7.0
- How configure an EJB client in EAP 7.1
Root Cause
- Using org.jnp.interfaces.NamingContextFactory between any other version of EAP for example EAP 4 & 5 would also have issues.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.