diff -urpN old/services/services/node_service/node_service.module new/services/services/node_service/node_service.module
--- old/services/services/node_service/node_service.module	2008-05-08 03:22:46.000000000 +0300
+++ new/services/services/node_service/node_service.module	2008-05-26 01:47:11.218750000 +0300
@@ -1,5 +1,16 @@
 <?php
 // $Id: node_service.module,v 1.2.2.4 2008/05/08 00:22:46 marcingy Exp $
+
+/**
+ * Implementation of hook_init().
+ *
+ * Loads subsidiary includes for other modules.
+ */
+function node_service_init() {
+  if (module_exists('workflow_ng')) {
+    include_once drupal_get_path('module', 'node_service') . '/node_service.workflow_ng.inc';
+  }
+}
 
 /**
  * Implementation of hook_help().
diff -urpN old/services/services/node_service/node_service.workflow_ng.inc new/services/services/node_service/node_service.workflow_ng.inc
--- old/services/services/node_service/node_service.workflow_ng.inc	1970-01-01 02:00:00.000000000 +0200
+++ new/services/services/node_service/node_service.workflow_ng.inc	2008-05-26 02:02:37.250000000 +0300
@@ -0,0 +1,74 @@
+<?php
+// $Id:
+
+/**
+ * @file
+ * This include file provides workflow_ng integration with node service module.
+ */
+
+/*
+ * Implementation of hook_action_info().
+ */
+function node_service_action_info() {
+   $info = array();
+   $info['node_service_workflow_ng_action_load_node'] = array(
+      '#label' => t('Load a node'),
+      '#arguments' => array(
+        'service' => array('#entity' => 'service', '#label' => t('Service which will be accessed'))
+      ),
+      '#new arguments' => array(
+        'node' => array('#entity' => 'node', '#label' => t('Content')),
+      ),
+      '#description' => t('Load a node of a loaded service.'),
+      '#module' => 'Services',
+   );
+  return $info;
+}
+
+/**
+ * Action: Access a service.
+ */
+
+
+
+
+/**
+ * Action: Load a node.
+ * 
+ * Loads a node via services.
+ */
+function node_service_workflow_ng_action_load_node($service, $settings, &$arguments, &$log) {
+  extract(workflow_ng_token_replace_all(array('nid'), $settings, $arguments, $log));
+  
+  $node = services_method_call('node.load', array($nid));
+  // At least type sohuld exist in a node.
+  if (!empty($node->type)) {
+    return array('#new arguments' => array('node' => $node));
+  }    
+}
+
+
+/**
+ * Load a node form.
+ *
+ * @ingroup forms
+ * @see snode_service_workflow_ng_action_load_node_submit 
+ */
+
+function node_service_workflow_ng_action_load_node_form($settings = array(), $argument_info) {
+  $form['nid'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Node id'),
+    '#description' => t('Enter the node id (nid) of the node that needs to be loaded.'),
+    '#default_value' => $settings['nid'],
+    '#required' => TRUE,
+  ); 
+  workflow_ng_token_replacement_help($form, $argument_info);   
+  return $form;
+}
+
+function node_service_workflow_ng_action_load_node_submit($form_id, $form_values) {
+  $token = workflow_ng_token_get_settings(array('nid'), $form_values);
+  $settings =  array('nid' => $form_values['nid']);
+  return $token + $settings;
+}
diff -urpN old/services/services.module new/services/services.module
--- old/services/services.module	2008-05-08 03:22:46.000000000 +0300
+++ new/services/services.module	2008-05-26 01:15:06.812500000 +0300
@@ -5,6 +5,18 @@
  * @file
  * services.module
  */
+
+/**
+ * Implementation of hook_init().
+ *
+ * Loads subsidiary includes for other modules.
+ */
+function services_init() {
+  if (module_exists('workflow_ng')) {
+    include_once drupal_get_path('module', 'services') . '/services.workflow_ng.inc';
+  }
+}
+
 
 /**
  * Implementation of hook_help().
diff -urpN old/services/services.workflow_ng.inc new/services/services.workflow_ng.inc
--- old/services/services.workflow_ng.inc	1970-01-01 02:00:00.000000000 +0200
+++ new/services/services.workflow_ng.inc	2008-05-26 01:06:33.078125000 +0300
@@ -0,0 +1,60 @@
+<?php
+// $Id:
+
+/**
+ * @file
+ * This include file provides workflow_ng integration with services module.
+ */
+
+/*
+ * Implementation of hook_action_info().
+ */
+function services_action_info() {
+   $info = array();
+   $info['services_workflow_ng_action_access_service'] = array(
+      '#label' => t('Access a service'),
+      '#new arguments' => array(
+        'service' => array('#entity' => 'service', '#label' => t('Service')),
+      ),
+      '#description' => t('Load an accessibale service as a new argument.'),
+      '#module' => 'Services',
+   );
+  return $info;
+}
+
+/**
+ * Action: Access a service.
+ */
+function services_workflow_ng_action_access_service($settings, &$arguments, &$log) {
+  extract(workflow_ng_token_replace_all(array('service_token'), $settings, $arguments, $log));
+  $url = check_url($service_token);
+  if ($url) {
+    return array('#new arguments' => array('service' => $url));
+  }    
+}
+
+
+/**
+ * Access a service form.
+ *
+ * @ingroup forms
+ * @see services_workflow_ng_action_access_service_form_submit 
+ */
+
+function services_workflow_ng_action_access_service_form($settings = array(), $argument_info) {
+  $form['service_token'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Service URL'),
+    '#description' => t('Enter the service complete URL.'),
+    '#default_value' => $settings['service_token'],
+    '#required' => TRUE,
+  ); 
+  workflow_ng_token_replacement_help($form, $argument_info);   
+  return $form;
+}
+
+function services_workflow_ng_action_access_service_submit($form_id, $form_values) {
+  $token = workflow_ng_token_get_settings(array('service_token'), $form_values);
+  $settings =  array('service_token' => $form_values['service_token']);
+  return $token + $settings;
+}
\ No newline at end of file
