Support Article
2-way SSL not working :Transport error : 401 Error: Unauthorized
SA-9221
Summary
User cannot configure 2-way SSL for Connect-SOAP.
Error Messages
2015-04-22 14:31:56,529 [] [ STANDARD] [ ] [] (ngineinterface.service.HttpAPI) ERROR: com.pega.pegarules.pub.PRRuntimeError
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:707)
at com.pega.pegarules.session.internal.mgmt.PRThreadImpl.runActivitiesAlt(PRThreadImpl.java:435)
at com.pega.pegarules.session.internal.engineinterface.service.HttpAPI.runActivities(HttpAPI.java:3252)
at com.pega.pegarules.session.external.engineinterface.service.EngineAPI.processRequestInner(EngineAPI.java:384)
at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
...
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: com.pega.pegarules.pub.services.RemoteApplicationException: SOAP service failed
at com.pegarules.generated.activity.ra_action_invokeaxis2_ab4bacc4d22ff691fd98ed821335eb56.step15_circum0(ra_action_invokeaxis2_ab4bacc4d22ff691fd98ed821335eb56.java:4048)
at com.pegarules.generated.activity.ra_action_invokeaxis2_ab4bacc4d22ff691fd98ed821335eb56.perform(ra_action_invokeaxis2_ab4bacc4d22ff691fd98ed821335eb56.java:308)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
...
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3375)
at com.pega.pegarules.session.internal.mgmt.base.ThreadRunner.runActivitiesAlt(ThreadRunner.java:641)
... 50 more
Caused by: com.pega.apache.axis2.AxisFault: Transport error: 401 Error: Unauthorized
at com.pega.apache.axis2.transport.http.HTTPSender.handleResponser.java:309)
at com.pega.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:194)
at com.pega.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
...
Steps to Reproduce
Run activity to call Connect-SOAP.
Root Cause
The root cause of this problem is defect/misconfiguration in the operating environment. The SSL connectivity between the Pega node and the external webservice endpoint is broken. This error indicates that the signer certificate and each of its intermediate certificates in the chain from the specified target host (external SOAP Endpoint) has not been located in the client Pega node’s (JVM’s) truststore.
When using the certificate from another entity (JVM), make sure to use the certificate chain to obtain the root CA certificate. The certificate chain, also known as the certification path, is a list of certificates used to authenticate an entity (JVM). The chain, or path, begins with the certificate of that entity, and each certificate in the chain is signed by the entity identified by the next certificate in the chain. The chain terminates with a root CA certificate. The root CA certificate is always signed by the CA itself. The signatures of all certificates in the chain must be verified until the root CA certificate is reached.
Resolution
This issue is resolved through the following local change:
Ensure that the signer certificates and each of its intermediate certificates in the certification path are imported to the Pega IBM Websphere JVM’s truststore.
The same should be done for all the Websphere JVMs participating in SSL communication on your PRPC cluster.
Published March 10, 2016 - 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.