/**
  * Perform an OMB action
  *
  * Executes an OMB action – as of OMB 0.1, it’s one of updateProfile and
  * postNotice.
  *
  * @param string $action_uri   The URI specifying the target service
  * @param array  $params       Additional parameters for the service call
  * @param string $listenee_uri The URI identifying the local user for whom
  *                             the action is performed
  *
  * @access protected
  */
 protected function performOMBAction($action_uri, $params, $listenee_uri)
 {
     $result = $this->performAction($action_uri, $params);
     if ($result->status == 403) {
         /* The remote user unsubscribed us. */
         $this->datastore->deleteSubscription($this->listener_uri, $listenee_uri);
     } else {
         if ($result->status != 200 || strpos($result->body, 'omb_version=' . OMB_VERSION) === false) {
             /* The server signaled an error or sent an incorrect response. */
             throw OMB_RemoteServiceException::fromYadis($action_uri, $result);
         }
     }
 }