I am trying to login to my magento’s web services from a server that does not have SoapClient enabled. So I figured I would install and use Pear’s SOAP_Client but I can’t figure out how to login.
With SoapClient I use:
$client = new SoapClient($WSDL);
$session = $client->login($user, $api_key);
$response = $client->call($session, $method, $arguments);
But I can’t find an analog to the login method for SOAP_Client
I gather that I should be setting something in the $proxy_params of the constructor, but I can’t find what the indexes should be.
$proxy_params = array();
$client = new SOAP_Client($wsdl, true, false, $proxy_params);
$client->call($method, $arguments)
So I figured this out, and there are a couple of factors here.
There isn’t a login function for SoapClient, the login I was calling is a call as defined in the WSDL
The various magento API methods are not defined in the WSDL, you provide an argument resource method to method defined as
callby the WSDL. This created a bit of confusion because using$client->call()seems to invokecallas defined by the SOAP_Client class, so I need to use$client->call('call')to invoke the SOAP methodcallThe final code ended up being: