I am experiencing a very annoying problem. The Magento shop on one of our servers isn't loading SOAP correctly over SSL.
When trying to load http://mysite.com/index.php/api/v2_soap/index everything works fine (I get this Access denied message).
When trying to load through SSL https://mysite.com/index.php/api/v2_soap/index I get this message that Magento isn't able to load the WSDL:
This XML file does not appear to have any style information associated with it. The document tree is shown below. <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>WSDL</faultcode> <faultstring> SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://mysite.com/index.php/api/v2_soap/index/?wsdl=1' : failed to load external entity "https://mysite.com/index.php/api/v2_soap/index/?wsdl=1" </faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
We tested a lot and made sure that:
- the exact same SOAP POST of this installation is working on another server
- another fresh Magento installation on the same server is also correctly loading over http:// but not over https://
- we get the same error when using curl via ssh on the server itself.
We never found the cause of the problem. Probably it was somewhere in the system settings. We migrated the installation to get it working.