Вы здесь

Web Service Clients

Basic service management and API for Web Services clients.

Модуль Web Service Clients реализует интерфейс, который позволяет создавать, изменять и тестировать соединение с удалённым сайтом. Параметры соединения могут быть экспортированы с помощью Chaos tool suite и таким образом добавлены с помощью Features. Основным назначением модуля является получение содержания с другого сайта на Друпале, установленного через модуль Services.

Использование API

Модуль позволяет вызывать методы на удалённом сайте очень просто, без необходимости иметь дело с токенами, ключами и другими подобными вещами. После того, как соединение определено в интерфейсе управления модулем, вы можете вызвать удалённый метод подобным образом:

  try {
    // 'my_connection' is the machine name of the connection.
    $result = clients_connection_call('my_connection', 'method.name', $param1, $param2, $param_etc);
  }
  catch (Exception $e) {
    // Something went wrong; it's up to you to display an error.
    // This is the error message, if any:
    $message = $e->getMessage();
  }

Например, чтобы загрузить документ с удалённого сайта, сделайте следующее:

  try {
    $node = clients_connection_call('my_connection', 'node.get', $remote_nid);
    // Note that the $node will be an array.
  }
  catch (Exception $e) {
    drupal_set_message("Error loading a remote node.");
  }

Если нужно сделать несколько вызовов, то можно использовать объект соединения самостоятельно:

  $connection = clients_connection_load('my_connection');
  try {
    $result = $connection->callMethod('method.name', $param1, $param2, $param_etc);
  }
  catch (Exception $e) {
    drupal_set_message("Error calling method.name.");
  }

Определение типов соединения

Для определения своего типа соединения, нужно:

  • Выполнить hook_clients_connection_type_info().
  • Определить класс соединения для своего типа. Он должен именоваться как «clients_connection_YOUR_TYPE_ID» и выполнять следующие методы
    • connectionSettingsForm(), which should return a FormAPI array for your connection type's edit form
    • connectionSettingsForm_submit(), which should provide any processing of the form specific to your connection type
    • callMethodArray(), which should call a remote method and return the result
Зависит от: