My Oracle Support Banner

Getting the Portlet could not be Contacted Error in an SSL Portal Environment (Doc ID 352522.1)

Last updated on AUGUST 07, 2018

Applies to:

Portal - Version 10.1.2.0.0 to 10.1.4.2 [Release 10gR2]
Information in this document applies to any platform.
Checked For Relevance: 16-FEB-2015


Symptoms

There is a Portal configured with a load balancer in front of two middle tiers. One side of the load-balanced portal is returning the following error:

Error: The portlet could not be contacted.

At the same time the following error is raised in the <midtier_home>\j2ee\OC4J_Portal\application-deployments\portal\OC4J_Portal_default_island_1\application.log:

06/01/10 15:23:49 portal: id=129105200572,1 ContentFetcher Unexpected Exception Request
Failed:oracle.webdb.dispatcher.DispatcherException: I/O Error dispatching request
name=content-fetcher2 label=pageMeta
url=https://<servername>:<port>/pls/portal/!PORTAL.wwpob_page.show?_pageid=6,1,6_13
time=19ms timeout=60000ms process=Dispatching
06/01/10 15:28:49 portal: id=124810540745,1 Content Fetcher Caught:
oracle.webdb.utils.PortalExceptionImpl: I/O Error dispatching request
at oracle.portal.PortalException.<init>(Unknown Source)
at oracle.webdb.dispatcher.DispatcherException.<init>(Unknown Source)
at oracle.webdb.dispatcher.HTTPDispatcher.dispatch(Unknown Source)
at oracle.webdb.dispatcher.CacheDispatcher.dispatch(Unknown Source)
at oracle.webdb.page.ContentFetcher.run(Unknown Source)
Caused by: java.io.IOException: javax.net.ssl.SSLException: SSL handshake failed:
X509CertChainIncompleteErr
at oracle.security.ssl.OracleSSLSocketImpl.startHandshake(Unknown Source)
at HTTPClient.OracleSSL.getSSLSocket(OracleSSL.java:255)
at HTTPClient.OracleSSL.getSSLSocket(OracleSSL.java:263)
at HTTPClient.HTTPConnection.getSSLSocket(HTTPConnection.java:4220)
at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:4038)
at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3003)
at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2843)
at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2635)
at HTTPClient.HTTPConnection.Post(HTTPConnection.java:1107)
at HTTPClient.HTTPConnection.Post(HTTPConnection.java:1072)
... 3 more
caused by: java.io.IOException: javax.net.ssl.SSLException: SSL handshake failed:
X509CertChainIncompleteErr
at oracle.security.ssl.OracleSSLSocketImpl.startHandshake(Unknown Source)
at HTTPClient.OracleSSL.getSSLSocket(OracleSSL.java:255)
at HTTPClient.OracleSSL.getSSLSocket(OracleSSL.java:263)
at HTTPClient.HTTPConnection.getSSLSocket(HTTPConnection.java:4220)
at HTTPClient.HTTPConnection.doConnect(HTTPConnection.java:4038)
at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3003)
at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:2843)
at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:2635)
at HTTPClient.HTTPConnection.Post(HTTPConnection.java:1107)
at HTTPClient.HTTPConnection.Post(HTTPConnection.java:1072)
at oracle.webdb.dispatcher.HTTPDispatcher.dispatch(Unknown Source)
at oracle.webdb.dispatcher.CacheDispatcher.dispatch(Unknown Source)
at oracle.webdb.page.ContentFetcher.run(Unknown Source)


Also, the Parallel Page Engine throws the following exception in the <midtier_home>\j2ee\OC4J_Portal\application-deployments\portal\OC4J_Portal_default_island_1\application.log when starting it up:

06/01/10 14:10:44 portal: Reading trusted certificates file '/etc/certificate' : Failed
java.security.cert.CertificateException: Could not parse certificate: java.io.IOException:
DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:109)
at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:389)
at oracle.webdb.pool.http.SSLConfig.readCertificates(Unknown Source)
at oracle.webdb.pool.http.SSLConfig.<init>(Unknown Source)
at oracle.webdb.page.ParallelServlet.init(Unknown Source)
at com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2141)
at com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4582)
at com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:2608)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:640)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
at

com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.ja
a:192)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=127, too big.
at sun.security.util.DerInputStream.getLength(DerInputStream.java:530)
at sun.security.util.DerValue.init(DerValue.java:346)
at sun.security.util.DerValue.<init>(DerValue.java:302)
at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:104)
... 12 more


The other side of the load-balanced Portal is working fine.

The Portal is set up for SSL with the Parallel Page Engine secured too. There is a list of accepted certificates defined with the following parameter in the Portal's web.xml (<midtier_home>/j2ee/OC4J_Portal/applications/portal/portal/WEB-INF/web.xml):

<init-param>
    <param-name>x509certfile</param-name>
    <param-value>/etc/certificate</param-value>
</init-param>


For more information on this parameter, review the documentation at:

Securing the Parallel Page Engine of Oracle® Application Server Portal Configuration Guide
10g Release 2 (10.1.4)
B19305-03

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.