/**
  * Put Person
  *
  * @param Batchblue_Service_BatchBook_Person $person
  * @return Batchblue_Service_BatchBook_PersonService   Provides a fluent interface */
 public function putPerson(Batchblue_Service_BatchBook_Person $person)
 {
     $httpClient = new Zend_Http_Client('https://' . $this->_accountName . '.batchbook.com/service/people/' . $person->getId() . '.xml');
     $paramsPut = array('person[first_name]' => $person->getFirstName(), 'person[last_name]' => $person->getLastName(), 'person[title]' => $person->getTitle(), 'person[company]' => $person->getCompany(), 'person[notes]' => $person->getNotes());
     $httpClient->setAuth($this->_token, 'x');
     $httpClient->setHeaders(Zend_Http_Client::CONTENT_TYPE, Zend_Http_Client::ENC_URLENCODED);
     $httpClient->setRawData(http_build_query($paramsPut, '', '&'), Zend_Http_Client::ENC_URLENCODED);
     $response = $httpClient->request(Zend_Http_Client::PUT);
     if (200 != $response->getStatus()) {
         //TODO: throw more specific exception
         throw new Exception('Person not updated.');
     }
     //update the locations
     $this->postLocationsOnPerson($person, $person->getLocations());
     return $this;
 }