Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
There are several modules in Drupal that act as Web-service clients. Ideally, we'd only have one, but this page attempts to point them out and highlight some differences. At some point, perhaps for Drupal 8, we'll be able to merge all of these.
Sometimes you have to import two or more xml files in the same way. There are several possibilities: creating a feed configuration for every xml file, creating a PHP function that uses Feed Import API or,
you can take a different approach by using xml xinclude.
Why? Because you'll have to maintain just one feed configuration and you can do this only from UI.
When? Usually when the xml files have the same structure.
How? Pretty simple, using xml XInclude.
RESTWS exposes Drupal resources (e.g. entities) as RESTful web services. The module makes use of the Entity API and the information about entity properties (provided via hook_entity_property_info()) to provide resource representations.
Copy the whole restws directory to your modules directory (e.g. DRUPAL_ROOT/sites/all/modules) and activate the RESTful Web Services module.
Use Drush commands: drush dl restws & drush en restws
There is no user interface to configure.
Usage / Testing
To obtain the JSON representation of an entity use your browser to visit: http://example.com/<entity type name>/<entity id>.json
For example: http://example.com/node/1.json or http://example.com/user/1.json would resolve as a JSON dump to client. There are no "service endpoints" to configure as resources are just available at uniform paths like "node/1", "user/1". One can use a client in the form of a browser plugin to test out the different CRUD functions.