enter image description here

We are developing an android app for a magento site. We have to pass SOAP API from magento to android to get session id.

We created SOAP web user and roles in magento admin panel by following this link:


When we try to connect from android to magento, we are getting error. This is the link we are using:


  • 1
    Hello - I cannot see the error at the link you provided; it says down for maintenance. Commented Sep 2, 2015 at 14:13
  • hi, sorry that site is under maintance, please check the updated question. Commented Sep 2, 2015 at 14:21
  • 1
    Did you try the steps from my previous question? This does look like the same error I got which was caused by the firewall and NAT settings for my server. Commented Sep 3, 2015 at 15:15
  • 1
    When magento is trying to get some resources, it makes more SOAP requests to itself but instead of using localhost like it should it will try to go all the way to the external IP and hostname. In my case I had to open the firewall to loopbacks and add my domain and external IP to the hosts file Commented Sep 3, 2015 at 15:16
  • okay @GaretClaborn i will check with server team. Commented Sep 4, 2015 at 5:23

3 Answers 3


SOAP server needs to be initialized with WSDL to understand how to process incoming requests (it basically loads WSDL from the specified URL in case of Magento). This happens in \Mage_Api_Model_Server_Adapter_Soap::_instantiateServer():

$this->_soap = new Zend_Soap_Server(
    $this->getWsdlUrl(array("wsdl" => 1)),
    array('encoding' => $apiConfigCharset)

Note that getWsdlUrl() constructs WSDL URL based on your Magento instance base URL. It means that if your Magento store is not accessible from the the host where it is deployed, SOAP server will not be able to load WSDL during initialization. As a result you would encounter such error when trying to perform requests to Magento SOAP API.

  • And how we can fix this? Commented Jan 26, 2016 at 14:32
  • 1
    Add Magento instance host to /etc/hosts on the server. Commented Jan 26, 2016 at 14:56
  • I did add my IP XXX.XXX.XXX.XXX www.example.com but i still get the same thing. I also tried to curp and ping the full domain and they work :( Commented Jan 26, 2016 at 14:57
  • Can you load WSDL while on that server? Commented Jan 26, 2016 at 15:00
  • 1
    Not sure than, try to debug somewhere around \Mage_Api_Model_Server_Adapter_Soap::_instantiateServer() Commented Jan 26, 2016 at 15:04

I was experiencing the same issue. I did install the orocrm bridge which needs to access the soap api, followed the given steps to configure a soap role and a user and then I tried to connect: 💥 Parameters are not valid!

After digging in the logs, I did notice this error:

[2017-07-03 16:57:46] app.CRITICAL: MageCheck 
error: 0:  [message]           
SOAP-ERROR: Parsing WSDL: Couldn't load from 
'https://my.magento.store/index.php/api/v2_soap/index/?wsdl=1' : 
failed to load external entity 

<?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Magento" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
                <username xsi:type="xsd:string">orocrm</username>
                <apiKey xsi:type="xsd:string">***</apiKey>

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
SOAP-ERROR: Parsing WSDL: Couldn't load from  'https://my.magento.store/index.php/api/v2_soap/index/?wsdl=1' : 
failed to load external entity "https://my.magento.store/index.php/api/v2_soap/index/?wsdl=1"

[code]              500   [] []

I figured out why I experienced this issue. Actually, this wasn't related to orocrm but to magento. That was a firewall issue. Actually, I did add correctly the rules to allow the crm server to attack the magento api but this one needs to reach out itself ! So after some headaches, I just add a rule on the magento server's firewall to allow itself (the magento server) to reach its own api (kind of external lookup)...

Anyway, I hope this will save some hours to someone

  • 1
    thanks for answer, very difficult to get solution for these soap related questions, i know the pain...... Commented Jul 5, 2017 at 10:23

I resolve this issue updating the Auto SSL certificate in a server with CentOS/Apache/WHM/cPanel/Magento 1.9.4 connected to an ERP throug SOAP API v2

In the Auto SSL Logs we have these messages:

PM ERROR TLS Status: Defective ERROR Defect: OPENSSL_VERIFY: The certificate chain failed OpenSSL’s verification (0:10:CERT_HAS_EXPIRED)

*In my case he certificate was not expired, but the issuer had a specific problem: https://forums.cpanel.net/threads/sectigo-issue.673157/

This caused the connection to the api to fail with the following message:

SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://www.example.com/api/v2_soap/?wsdl=1' : failed to load external entity "https://www.example.com/api/v2_soap/?wsdl=1

Updating the certificate solves this issue.

I hope this helps someone else

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.