Support Article
SSL throwing NPE at CompositeX509TrustManager.getAcceptedIssuers
Summary
User experiences an issue when calling a secure URL from HTTP/SOAP. The server responds with an HTTP 404 code, indicating that the resource does not exist.
If user tests the connectivity from a Connect-HTTP/SOAP rule, it works fine but when the user tries to call the service from an activity, a 404 not found error is observed.
Error Messages
2017-06-12 07:32:18,457 [fault (self-tuning)'] [TABTHREAD1] [ ] [ NBAXX:01.01.08] (Location.XX_Data_Stores.Action) INFO server.systems.private|11.11.1111 Name- |nGetCollectPlusStoreLocation contains the following Request Header:
<ns1:RequestHeader xmlns:ns1="http://acme/schema/RequestHeader/2/2"> <ns1:service>GetCollectPlusStoreLocation</ns1:service> <ns1:operation>GetAddress</ns1:operation> <ns1:version>2.0</ns1:version> <ns1:conversationID>uuid:b4591b24-cedd-410f-ae87-054b3616d669</ns1:conversationID> <ns1:requestID>uuid:8d70289c-b656-4542-9d4a-cf79f5562dfa</ns1:requestID> <ns1:messageID>uuid:1c722699-a918-456a-a65e-1881f8198228</ns1:messageID> <ns1:requestTimestamp>2017-06-12T06:32:18.265Z</ns1:requestTimestamp> <ns1:activityName>PEGA</ns1:activityName> <ns1:senderURI>PEGA</ns1:senderURI> <ns1:originatorURI>PEGA</ns1:originatorURI> </ns1:RequestHeader>
2017-06-12 07:32:18,457 [fault (self-tuning)'] [TABTHREAD1] [ ] [ NBAXX:01.01.08] (Location.XX_Data_Stores.Action) INFO -server|11.11.1111 -
GetCollectPlusStoreLocation contains the following Request Body :
<ns1:GetCollectPlusStoreLocationRequest xmlns:ns1="http://acme/schema/GetCollectPlusStoreLocation/1/0"> <ns1:postcode>HA1 1JT</ns1:postcode> <ns1:maximumNumberOfRecords>2</ns1:maximumNumberOfRecords> </ns1:GetCollectPlusStoreLocationRequest>
2017-06-12 07:32:19,665 [fault (self-tuning)'] [TABTHREAD1] [ ] [ NBAXX:01.01.08] ( internal.mgmt.Executable) ERROR server.systems.private|11.11.1111|Rule-Connect-SOAP.XX-Int-XX-GetCollectPlus-GetCollectPlusStoreLocation.GetCollectPlusStoreLocation test - Exception
com.pega.pegarules.pub.services.ResourceUnavailableException: SOAP service failed
at com.pegarules.generated.activity.ra_action_invokeaxis2_96911c1c9533c422fe77e9255f2fdd9a.step15_circum0(ra_action_invokeaxis2_96911c1c9533c422fe77e9255f2fdd9a.java:3979)
Caused by: javax.net.ssl.SSLException: java.lang.NullPointerException
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
Caused by: java.lang.NullPointerException
at com.pega.pegarules.integration.engine.internal.ssl.CompositeX509TrustManager.getAcceptedIssuers(CompositeX509TrustManager.java:178)
at sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints(SSLContextImpl.java:926)
at sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust(SSLContextImpl.java:872)
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:814)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
Caused by: com.pega.apache.http.NoHttpResponseException: The target server failed to respond
at com.pega.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:101)
Steps to Reproduce
Configure Connect-SOAP with security profile that references truststore.
Root Cause
A defect in Pegasystems’ code or rules that does not account for possible null pointer in array returned from getAcceptedIssuers().
Resolution
Apply HFix-35196
Published August 8, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.