Soap Call to http automatically tries to connect via https

828 views Asked by At

When making a SOAP call to a http:// address it is automatically trying to connect via https:// I need to force SOAP to only connect via http:// is there a way to do this? I have ensured MultiViews is not enabled in Apache.

I have even tried to do a simple SoapClient call without encapsulating it into a class, with the login included in the initial call.

$soap = new \SoapClient('http://gotouri?wsdl, array(
    'login' => 'username',
    'password' => 'userpass',
    'trace' => 1,
    'exceptions' = 1
    )
);

this is the SOAP-FAULT error I receive:

Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in [internal function]: SoapClient->__doRequest('<?xml version="...', 'https://www.do...', 'urn:Mage_Api_Mo...', 1, 0)

Anyone have any ideas how to force the soap-client to use http?

1

There are 1 answers

0
djfordz On

I figured out the reason it was automatically parsing https://. In the XML file on the server, the location address is to https://

<service name="MagentoService">
<port name="Mage_Api_Model_Server_HandlerPort" binding="typens:Mage_Api_Model_Server_HandlerBinding">
<soap:address location="https://www.thisguyssoapserver.com/index.php/api/soap/index/"/>
</port>
</service>

Thus, my localhost SSL isn't working correctly. I do not know whether a self-signed certificate would enable me to make this call or not, however I can make a successful soap call after pushing the code to a lamp server on gcloud.