Matthew, anyone watching this issue:

The provided solution:

class My_XmlRpc_Client extends Zend_XmlRpc_Client
{
    public function call($method, $params = array())
    {
        $request = new Zend_XmlRpc_Request($method, $params);

        $this->doRequest($request);

        if ($this->_lastResponse->isFault()) {
            $fault = $this->_lastResponse->getFault();
            throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(),
                                                        $fault->getCode());
        }

        return $this->_lastResponse->getReturnValue();
    }
}

Doesn't work because $_lastRequest is **private** in
Zend_XmlRpc_Client, Line 91:

private $_lastRequest = null;

Here is a solution that works in the meantime (until 1.5.2?):

class My_XmlRpc_Client extends Zend_XmlRpc_Client
{
    public function call($method, $params = array())
    {
        $request = new Zend_XmlRpc_Request($method, $params);

        $this->doRequest($request);

        if ($this->getLastResponse()->isFault()) {
            $fault = $this->getLastResponse()->getFault();
            throw new Zend_XmlRpc_Client_FaultException($fault->getMessage(),
                                                        $fault->getCode());
        }

        return $this->getLastResponse()->getReturnValue();
    }
}

I would have posted this on the tracker, but I didn't see a comment
field (even though I am registered to use the service).

- jake

Reply via email to