Hey everyone, I spent a pretty significant amount of time today on this issue so I thought I’d add the solution to help anyone that’s looking for information on this or had the same problem since there wasn’t information on this particular issue here.
The problem was I was receiving a WSDL error trying to run a previously functional service, the only difference is we moved to https when we went to production. The error:
SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://WEBSITE_REPLACED.com/index.php/api/v2_soap/index/?wsdl=1' : failed to load external entity "https://WEBSITE_REPLACED.com/index.php/api/v2_soap/index/?wsdl=1"
The solution was, I changed :
$proxy = new SoapClient($uri);
After running an openssl command to put the certificate in /tmp:
$proxy = new SoapClient($uri,array('local_cert'=>'/tmp/.cert'));
echo -n | openssl s_client -connect WEBSITE_REPLACED:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$SERVERNAME.cert
Hopefully this helps those with that error, which is weird when you can cURL the WSDL and see it.