ZF-11357: Error when overriding Zend Framework Soap Client __call method

Description

Hi,

I am extending Zend_Soap_Client and overriding it's __call method just to allow me to do some mundane data preparation before I call the SOAP method but I keep getting an Exception from the server. If I make the same call without overriding the __call it works fine. I don't understand why overriding the __call method is causing this problem. I've checked that the data and the SOAP client object in both cases are exactly the same but it just doesn't seem to work when overriding __call. Any ideas?

Code that doesn't work:


public function __call($method, $data) {

    $timestamp = date('c');
    $otherData = array(
        'timeStamp' => $timestamp,
        'apiVersion' => $this->apiVersion,
        'clientSoftwareVersion' => $this->clientSoftwareVersion,
    );
    $requestData = array_merge($otherData, $data[0]);

    return parent::__call($method, $requestData);

}

Code that works:


public function feeLookup($data) {

    $timestamp = date('c');
    $otherData = array(
        'timeStamp' => $timestamp,
        'apiVersion' => $this->apiVersion,
        'clientSoftwareVersion' => $this->clientSoftwareVersion,
    );
    $requestData = array_merge($otherData, $data);

    return parent::feeLookup($requestData);

}

Exception that I get from the server:


SoapFault: java.util.EmptyStackException

Thanks Ziad

Comments

No comments to display