HTTPS Calls to an External Web Service fail with Exception "java.lang.IllegalArgumentException: SocketChannel not available" if the Connection Timeout Parameter is set to any Value other than the Default of 0 Seconds (Doc ID 1960142.1)

Last updated on JULY 28, 2016

Applies to:

Oracle Service Bus - Version 12.1.3.0.0 and later
Information in this document applies to any platform.

Symptoms

On : 12.1.3.0.0 version, OSB Core Functionality

In an OSB 12c Environment, any HTTPS calls made to an external service with the connection timeout value set to anything other than the default of "0" results in the call failing with the below exception:

Exceptoin
-----------------------

java.lang.IllegalArgumentException: SocketChannel not available
 at weblogic.socket.NIOSocketMuxer.register(NIOSocketMuxer.java:107)
 at weblogic.socket.utils.JSSEUtils.registerJSSEFilter(JSSEUtils.java:25)
 at weblogic.net.http.AsyncResponseHandler.registerWithMuxer(AsyncResponseHandler.java:225)
 at weblogic.net.http.AsyncResponseHandler.writeRequestAndRegister(AsyncResponseHandler.java:206)
 at com.bea.wli.sb.transports.http.wls.HttpOutboundMessageContextWls.registerAsynchronousListener(HttpOutboundMessageContextWls.java:65)
 at com.bea.wli.sb.transports.http.HttpOutboundMessageContext.send(HttpOutboundMessageContext.java:408)
 at com.bea.wli.sb.transports.http.wls.HttpTransportProvider.sendMessageAsync(HttpTransportProvider.java:238)

...........

STEPS
-----------------------
The issue can be reproduced at will with the following steps:
1. Call a remote service through HTTPS and set a connection timeout value.


Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms