Unable to make an IIOP call to an EJB deployed on EAP 7.3 (with private IP)
Issue
when making an IIOP call, the server returns an IOR (Inter-operable Object Reference) which, by default, has the host name and port of the server (if not overridden). Now if the host is having a private IP and port, these details would be embedded, in IOR
, and subsequent calls from client would use these details to reach out to the ORB service.
For example::
If JBoss EAP is containerized and the EJB service is listening on port 23060
on all INET
address. Also the container is published on port 30000
of the host.
If a call from the same node using localhost:30000
is made, the call results in the error:
com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 0.0.0.0; port: 23060
This is because in the IOR file, the server has sent the host as 0.0.0.0 and port as 23060. It should have instead sent the port as 30000 because this is the port through which it is accessible to the outside world
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7.x
- Red hat OpenShift Container Platform (OCP)
- 4.x
- 3.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.