Wednesday, December 2, 2015

Websphere disable SSL on iiop coneection

We used to have a client that connects to MQ queues configured in Websphere server through iiop protocol. When we upgrade to 8.5 version of we start getting below error.

javax.naming.ServiceUnavailableException: A communication failure occurred while attempting to obtain an initial context with the provider URL: "iiop://VENKATESWARA.RAO.DESU:2809".
Make sure that any bootstrap address information in the URL is correct and that the target name server is running.  A bootstrap address with no port specification defaults to port 2809.  Possi
le causes other than an incorrect bootstrap address or unavailable name server include the network environment and workstation network configuration. [Root exception is org.omg.CORBA.TRANSIENT
 java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine:host=VENKATESWARA.RAO.DESU,port=0  vmcid: 0x4942f000  minor code: 35
6  completed: No]
        at com.ibm.ws.naming.util.WsnInitCtxFactory.mapInitialReferenceFailure(WsnInitCtxFactory.java:2226)
        at com.ibm.ws.naming.util.WsnInitCtxFactory.mergeWsnNSProperties(WsnInitCtxFactory.java:1386)
        at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:924)
        at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:848)
        at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:533)
        at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:117)
        at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:712)
        at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:171)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at com.hsbc.fe.test.ISMTest.initJNDISenders(ISMTest.java:282)
        at com.hsbc.fe.test.ISMTest.init(ISMTest.java:193)
        at com.hsbc.fe.test.ISMTest.main(ISMTest.java:885)
Caused by: org.omg.CORBA.TRANSIENT: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine:host=VENKATESWARA.RAO.DESU,port=0
 vmcid: 0x4942f000  minor code: 3586  completed: No
        at com.ibm.CORBA.transport.TransportConnectionBase.connect(TransportConnectionBase.java:425)
        at com.ibm.rmi.transport.TCPTransport.getConnection(TCPTransport.java:157)
        at com.ibm.rmi.iiop.TransportManager.get(TransportManager.java:93)
        at com.ibm.rmi.iiop.GIOPImpl.getConnection(GIOPImpl.java:115)
        at com.ibm.rmi.iiop.GIOPImpl.createRequest(GIOPImpl.java:144)
        at com.ibm.rmi.corba.ClientDelegate._createRequest(ClientDelegate.java:1931)
        at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1208)
        at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1287)
        at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1141)
        at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1253)
        at com.ibm.rmi.corba.ClientDelegate.request(ClientDelegate.java:1807)
        at com.ibm.CORBA.iiop.ClientDelegate.request(ClientDelegate.java:1209)
        at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:431)
        at com.ibm.WsnBootstrap._WsnNameServiceStub.getProperties(_WsnNameServiceStub.java:38)
        at com.ibm.ws.naming.util.WsnInitCtxFactory.mergeWsnNSProperties(WsnInitCtxFactory.java:1369)
        ... 10 more
Caused by: java.net.ConnectException: connect: Address is invalid on local machine, or port is not valid on remote machine
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:529)
        at com.ibm.rmi.transport.TCPTransportConnection.createSocket(TCPTransportConnection.java:155)
        at com.ibm.rmi.transport.TCPTransportConnection.createSocket(TCPTransportConnection.java:167)
        at com.ibm.CORBA.transport.TransportConnectionBase.connect(TransportConnectionBase.java:354)
        ... 24 more


The issue is due to SSL enabled on the iiop inbound channel, the quick fix is to disable the SSL in below.


Security  == > Global security --> Authentication --> RMI/IIOP security --> CSIv2 inbound communications

CSIv2 Transport Layer --> Transport (Change it to TCP/IP from SSL Required)

Helping links ofr further debugging:
 http://tech.ivkin.net/wiki/IBM_WebSphere_Application_Server_How_To
 https://developer.ibm.com/answers/questions/202295/orgomgcorbamarshal-unable-to-read-value-from-under.html

Security  == > Global security --> Authentication --> RMI/IIOP security --> CSIv2 inbound communications

CSIv2 Transport Layer --> Transport (Change it to TCP/IP from SSL Required)



No comments: