/** * Retrieves specified entity based passed page number and page size * * @param string $urlResource Entity type to Find * @return array Returns an array of entities of specified type. */ public function FindAll($entityName, $pageNumber = 0, $pageSize = 500) { $this->serviceContext->IppConfiguration->Logger->RequestLog->Log(TraceLevel::Info, "Called Method FindAll."); $phpClassName = DataService::decorateIntuitEntityToPhpClassName($entityName); // Handle some special cases if (strtolower('company') == strtolower($entityName)) { $entityName = 'CompanyInfo'; } if ('QBO' == $this->serviceContext->serviceType) { $httpsContentType = CoreConstants::CONTENTTYPE_APPLICATIONTEXT; } else { $httpsContentType = CoreConstants::CONTENTTYPE_TEXTPLAIN; } $httpsUri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, 'query')); $httpsPostBody = "select * from {$entityName} startPosition {$pageNumber} maxResults {$pageSize}"; $requestParameters = $this->getPostRequestParameters($httpsUri, $httpsContentType); $restRequestHandler = new SyncRestHandler($this->serviceContext); list($responseCode, $responseBody) = $restRequestHandler->GetResponse($requestParameters, $httpsPostBody, NULL); $parsedResponseBody = NULL; try { $responseXmlObj = simplexml_load_string($responseBody); if ($responseXmlObj && $responseXmlObj->QueryResponse) { $parsedResponseBody = $this->responseSerializer->Deserialize($responseXmlObj->QueryResponse->asXML(), FALSE); } } catch (Exception $e) { IdsExceptionManager::HandleException($e); } return $parsedResponseBody; }