public function call($port, $method, $requestObject, $apiContext, $handlers = array())
{
if (!is_array($handlers)) {
$handlers = array();
}
if (is_array($this->handlers)) {
$handlers = array_merge($this->handlers, $handlers);
}
if ($apiContext == null) {
$apiContext = new PPApiContext(PPConfigManager::getConfigWithDefaults($this->config));
}
if ($apiContext->getConfig() == null) {
$apiContext->setConfig(PPConfigManager::getConfigWithDefaults($this->config));
}
$service = new PPAPIService($port, $this->serviceName, $this->serviceBinding, $apiContext, $handlers);
$ret = $service->makeRequest($method, new PPRequest($requestObject, $this->serviceBinding));
$this->lastRequest = $ret['request'];
$this->lastResponse = $ret['response'];
return $this->lastResponse;
}