public function CDC($entityList, $changedSince)
    {
        $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Info, "Called Method CDC.");

        // Validate parameter
        if (count($entityList) <= 0) {
            $exception = new IdsException('ParameterNotNullMessage');
            $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Error, "ParameterNotNullMessage");
            IdsExceptionManager::HandleException($exception);
        }

        $entityString = implode(",", $entityList);

        $query = null;
        $uri = null;

        if(is_string($changedSince)){
           $formattedChangedSince = trim($changedSince);
        }else{
            $formattedChangedSince = date("Y-m-d\TH:i:s", $this->verifyChangedSince($changedSince));
        }

        $query = "entities=" . $entityString . "&changedSince=" . $formattedChangedSince;
        $uri = "company/{1}/cdc?{2}";
        //$uri = str_replace("{0}", CoreConstants::VERSION, $uri);
        $uri = str_replace("{1}", $this->serviceContext->realmId, $uri);
        $uri = str_replace("{2}", $query, $uri);

        // Creates request parameters
        $requestParameters = $this->getGetRequestParameters($uri, CoreConstants::CONTENTTYPE_APPLICATIONXML);
        $restRequestHandler = $this->getRestHandler();

        list($responseCode, $responseBody) = $restRequestHandler->sendRequest($requestParameters, null, null, $this->isThrownExceptionOnError());
        $faultHandler = $restRequestHandler->getFaultHandler();
        if ($faultHandler) {
            $this->lastError = $faultHandler;
            return null;
        } else {
            $this->lastError = false;
            $returnValue = new IntuitCDCResponse();
            try {
                $xmlObj = simplexml_load_string($responseBody);
                $responseArray = $xmlObj->CDCResponse->QueryResponse;
                if(sizeof($responseArray) != sizeof($entityList)){
                    throw new ServiceException("The number of Entities requested on CDC does not match the number of Response.");
                }

                for($i = 0; $i < sizeof($responseArray); $i++){
                    $currentResponse = $responseArray[$i];
                    $currentEntityName = $entityList[$i];
                    $entities = $this->responseSerializer->Deserialize($currentResponse->asXML(), false);
                    $entityName = $currentEntityName;
                    //If we find the actual name, update it.
                    foreach ($currentResponse->children() as $currentResponseChild) {
                        $entityName = (string)$currentResponseChild->getName();
                        break;
                    }
                    $returnValue->entities[$entityName] = $entities;
                }
            } catch (\Exception $e) {
                IdsExceptionManager::HandleException($e);
            }

            $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Info, "Finished Executing Method CDC.");
            return $returnValue;
        }
    }
public function CDC($entityList, $changedSince)
    {
        $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Info, "Called Method CDC.");

        // Validate parameter
        if (count($entityList) <= 0) {
            $exception = new IdsException('ParameterNotNullMessage');
            $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Error, "ParameterNotNullMessage");
            IdsExceptionManager::HandleException($exception);
        }

        $entityString = implode(",", $entityList);

        $query = null;
        $uri = null;

        if(is_string($changedSince)){
           $formattedChangedSince = trim($changedSince);
        }else{
            $formattedChangedSince = date("Y-m-d\TH:i:s", $this->verifyChangedSince($changedSince));
        }

        $query = "entities=" . $entityString . "&changedSince=" . $formattedChangedSince;
        $uri = "company/{1}/cdc?{2}";
        //$uri = str_replace("{0}", CoreConstants::VERSION, $uri);
        $uri = str_replace("{1}", $this->serviceContext->realmId, $uri);
        $uri = str_replace("{2}", $query, $uri);

        // Creates request parameters
        $requestParameters = $this->getGetRequestParameters($uri, CoreConstants::CONTENTTYPE_APPLICATIONXML);
        $restRequestHandler = $this->getRestHandler();

        list($responseCode, $responseBody) = $restRequestHandler->sendRequest($requestParameters, null, null, $this->isThrownExceptionOnError());
        $faultHandler = $restRequestHandler->getFaultHandler();
        if ($faultHandler) {
            $this->lastError = $faultHandler;
            return null;
        } else {
            $this->lastError = false;
            $returnValue = new IntuitCDCResponse();
            try {
                $xmlObj = simplexml_load_string($responseBody);
                $responseArray = $xmlObj->CDCResponse->QueryResponse;
                if(sizeof($responseArray) != sizeof($entityList)){
                    throw new ServiceException("The number of Entities requested on CDC does not match the number of Response.");
                }

                for($i = 0; $i < sizeof($responseArray); $i++){
                    $currentResponse = $responseArray[$i];
                    $currentEntityName = $entityList[$i];
                    $entities = $this->responseSerializer->Deserialize($currentResponse->asXML(), false);
                    $entityName = $currentEntityName;
                    //If we find the actual name, update it.
                    foreach ($currentResponse->children() as $currentResponseChild) {
                        $entityName = (string)$currentResponseChild->getName();
                        break;
                    }
                    $returnValue->entities[$entityName] = $entities;
                }
            } catch (\Exception $e) {
                IdsExceptionManager::HandleException($e);
            }

            $this->serviceContext->IppConfiguration->Logger->CustomLogger->Log(TraceLevel::Info, "Finished Executing Method CDC.");
            return $returnValue;
        }
    }
public function CDC ( $ entityList , $ changedSince ) { $ this -> serviceContext -> IppConfiguration -> Logger -> CustomLogger -> Log ( TraceLevel :: Info , "Called Method CDC." ) ; // Validate parameter if ( count ( $ entityList ) <= 0 ) { $ exception = new IdsException ( 'ParameterNotNullMessage' ) ; $ this -> serviceContext -> IppConfiguration -> Logger -> CustomLogger -> Log ( TraceLevel :: Error , "ParameterNotNullMessage" ) ; IdsExceptionManager :: HandleException ( $ exception ) ; } $ entityString = implode ( "," , $ entityList ) ; $ query = null ; $ uri = null ; if ( is_string ( $ changedSince ) ) { $ formattedChangedSince = trim ( $ changedSince ) ; } else { $ formattedChangedSince = date ( "Y-m-d\TH:i:s" , $ this -> verifyChangedSince ( $ changedSince ) ) ; } $ query = "entities=" . $ entityString . "&changedSince=" . $ formattedChangedSince ; $ uri = "company/{1}/cdc?{2}" ; //$uri = str_replace("{0}", CoreConstants::VERSION, $uri); $ uri = str_replace ( "{1}" , $ this -> serviceContext -> realmId , $ uri ) ; $ uri = str_replace ( "{2}" , $ query , $ uri ) ; // Creates request parameters $ requestParameters = $ this -> getGetRequestParameters ( $ uri , CoreConstants :: CONTENTTYPE_APPLICATIONXML ) ; $ restRequestHandler = $ this -> getRestHandler ( ) ; list ( $ responseCode , $ responseBody ) = $ restRequestHandler -> sendRequest ( $ requestParameters , null , null , $ this -> isThrownExceptionOnError ( ) ) ; $ faultHandler = $ restRequestHandler -> getFaultHandler ( ) ; if ( $ faultHandler ) { $ this -> lastError = $ faultHandler ; return null ; } else { $ this -> lastError = false ; $ returnValue = new IntuitCDCResponse ( ) ; try { $ xmlObj = simplexml_load_string ( $ responseBody ) ; $ responseArray = $ xmlObj -> CDCResponse -> QueryResponse ; if ( sizeof ( $ responseArray ) != sizeof ( $ entityList ) ) { throw new ServiceException ( "The number of Entities requested on CDC does not match the number of Response." ) ; } for ( $ i = 0 ; $ i < sizeof ( $ responseArray ) ; $ i ++ ) { $ currentResponse = $ responseArray [ $ i ] ; $ currentEntityName = $ entityList [ $ i ] ; $ entities = $ this -> responseSerializer -> Deserialize ( $ currentResponse -> asXML ( ) , false ) ; $ entityName = $ currentEntityName ; //If we find the actual name, update it. foreach ( $ currentResponse -> children ( ) as $ currentResponseChild ) { $ entityName = ( string ) $ currentResponseChild -> getName ( ) ; break ; } $ returnValue -> entities [ $ entityName ] = $ entities ; } } catch ( \ Exception $ e ) { IdsExceptionManager :: HandleException ( $ e ) ; } $ this -> serviceContext -> IppConfiguration -> Logger -> CustomLogger -> Log ( TraceLevel :: Info , "Finished Executing Method CDC." ) ; return $ returnValue ; } }
Returns List of entities changed after certain time.

@param array entityList List of entity.
@param long changedSince DateTime of timespan after which entities were changed.
@return IntuitCDCResponse Returns an IntuitCDCResponse.
Returns List of entities changed after certain time .