External SOAP Call Failing
SummaryThe user is trying to hit SOAP service from outside using SOAP UI and is getting some error. In Pega 721 same web-service method was working, and user have taken zip from Pega 721 and deployed same to new server 722.
Error Messages"Javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection"
Steps to Reproduce
- Import the WSDL from a file
- Try to hit soap service from outside Pega using SOAP UI
- Also if you try to import the WSDL over HTTPS the SOAP UI will give error
Root CauseA defect or configuration issue in the operating environment
The WSDL was having the location pointing to a HTTP address <soap12:address location="http://someserver.com:80/.../.."
It seems that there is a loadbalancer/proxy in front of Pega server which is configured to accept only HTTPS requests. From the loadbalancer /proxy to Pega server the connection is over HTTP. This is the reason user was not able to import the WSDL using the HTTP URL. When the user tried with HTTPS WSDL URL, the WSDL was successfully imported but while executing the request user got a new error "Error getting response;javax.net.ssl.SSLException:Received fatal alert:protocol_version. The root cause for this is user was having JRE 6.x installed in the system with default TLS/SSL version is 1.0 and the service was using higher version of JRE supporting higher version of TLS/SSL protocol.
ResolutionFollowing are the steps to resolve the issue:
Install JRE 8.x in the laptop/desktop.
Rename the jre folder which shipped with the SOAP UI and be found under the SOAP UI installation folder
Re launch SOAP UI and import the WSDL using HTTPS URL
Run the request
Published April 18, 2017 - Updated May 6, 2017