ipAddressLocation instanceof Zend_Service_DeveloperGarden_Response_IpLocation_IPAddressLocationType) { if (is_array($response->ipAddressLocation)) { foreach ($response->ipAddressLocation as $location) { $this->ipAddressLocation[] = $location; } } else { $this->ipAddressLocation[] = $response->ipAddressLocation; } } elseif (is_array($response->ipAddressLocation)) { $this->ipAddressLocation = $response->ipAddressLocation; } $this->errorCode = $response->getErrorCode(); $this->errorMessage = $response->getErrorMessage(); $this->statusCode = $response->getStatusCode(); $this->statusMessage = $response->getStatusMessage(); } /** * implement own parsing mechanism to fix broken wsdl implementation */ public function parse() { parent::parse(); if (is_array($this->ipAddressLocation)) { foreach ($this->ipAddressLocation as $address) { $address->parse(); } } elseif ($this->ipAddressLocation instanceof Zend_Service_DeveloperGarden_Response_IpLocation_IPAddressLocationType) { $this->ipAddressLocation->parse(); } return $this; } /** * @return array */ public function getIpAddressLocation() { return $this->ipAddressLocation; } }