Index: 3-modules/soap_server/LICENSE.txt
===================================================================
--- 0.3-modules/soap_server/LICENSE.txt	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,274 +1,0 @@
-GNU GENERAL PUBLIC LICENSE
-
-              Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
-Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
-verbatim copies of this license document, but changing it is not allowed.
-
-                  Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public License
-applies to most of the Free Software Foundation's software and to any other
-program whose authors commit to using it. (Some other Free Software
-Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this service if
-you wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for
-a fee, you must give the recipients all the rights that you have. You must make
-sure that they, too, receive or can get the source code. And you must show
-them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If the
-software is modified by someone else and passed on, we want its recipients
-to know that what they have is not the original, so that any problems
-introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will individually
-obtain patent licenses, in effect making the program proprietary. To prevent
-this, we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-           GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-               MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the
-Program or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter, translation
-is included without limitation in the term "modification".) Each licensee is
-addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program is
-not restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made
-by running the Program). Whether that is true depends on what the Program
-does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this License
-and to the absence of any warranty; and give any other recipients of the
-Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that
-you changed the files and the date of any change.
-
-b) You must cause any work that you distribute or publish, that in whole or in
-part contains or is derived from the Program or any part thereof, to be
-licensed as a whole at no charge to all third parties under the terms of this
-License.
-
-c) If the modified program normally reads commands interactively when run,
-you must cause it, when started running for such interactive use in the most
-ordinary way, to print or display an announcement including an appropriate
-copyright notice and a notice that there is no warranty (or else, saying that
-you provide a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this License.
-(Exception: if the Program itself is interactive but does not normally print such
-an announcement, your work based on the Program is not required to print
-an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you distribute
-them as separate works. But when you distribute the same sections as part
-of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to
-control the distribution of derivative or collective works based on the
-Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the scope
-of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1
-and 2 above provided that you also do one of the following:
-
-a) Accompany it with the complete corresponding machine-readable source
-code, which must be distributed under the terms of Sections 1 and 2 above
-on a medium customarily used for software interchange; or,
-
-b) Accompany it with a written offer, valid for at least three years, to give
-any third party, for a charge no more than your cost of physically performing
-source distribution, a complete machine-readable copy of the corresponding
-source code, to be distributed under the terms of Sections 1 and 2 above on
-a medium customarily used for software interchange; or,
-
-c) Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for
-noncommercial distribution and only if you received the program in object
-code or executable form with such an offer, in accord with Subsection b
-above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source code
-means all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation and
-installation of the executable. However, as a special exception, the source
-code distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to
-copy from a designated place, then offering equivalent access to copy the
-source code from the same place counts as distribution of the source code,
-even though third parties are not compelled to copy the source along with the
-object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy,
-modify, sublicense or distribute the Program is void, and will automatically
-terminate your rights under this License. However, parties who have received
-copies, or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it.
-However, nothing else grants you permission to modify or distribute the
-Program or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Program (or any work based on the Program), you indicate your acceptance
-of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these terms and
-conditions. You may not impose any further restrictions on the recipients'
-exercise of the rights granted herein. You are not responsible for enforcing
-compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues), conditions
-are imposed on you (whether by court order, agreement or otherwise) that
-contradict the conditions of this License, they do not excuse you from the
-conditions of this License. If you cannot distribute so as to satisfy
-simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all.
-For example, if a patent license would not permit royalty-free redistribution
-of the Program by all those who receive copies directly or indirectly through
-you, then the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or
-other property right claims or to contest validity of any such claims; this
-section has the sole purpose of protecting the integrity of the free software
-distribution system, which is implemented by public license practices. Many
-people have made generous contributions to the wide range of software
-distributed through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing to
-distribute software through any other system and a licensee cannot impose
-that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original copyright
-holder who places the Program under this License may add an explicit
-geographical distribution limitation excluding those countries, so that
-distribution is permitted only in or among countries not thus excluded. In such
-case, this License incorporates the limitation as if written in the body of this
-License.
-
-9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to address new
-problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies
-a version number of this License which applies to it and "any later version",
-you have the option of following the terms and conditions either of that
-version or of any later version published by the Free Software Foundation. If
-the Program does not specify a version number of this License, you may
-choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-               NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
-PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
-STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
-AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
-ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
-LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE
-PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
-OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
-PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
-IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.
-
-          END OF TERMS AND CONDITIONS
Index: 3-modules/soap_server/README.txt
===================================================================
--- 0.3-modules/soap_server/README.txt	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,37 +1,0 @@
-$Id: README.txt,v 1.2.2.1.2.1.2.3 2011/01/25 13:49:22 ilo Exp $
-
-SOAP Server
-===========
-
-Soap Server for Services 6.x-3.x
-
-WARNING:  This module is a prototype and is not secure.  DO NOT USE FOR PRODUCTION SITES
-
-GETTING STARTED
-===============
-
-Enable the module
-Add an endpoint at admin/build/services/add choosing SOAP as the Server
-Enable the node and user retrieve methods at admin/build/services/{endpoint_name}/resources
-View the generated WSDL at soap_server/debug_wsdl/{endpoint_name}
-Give anonymous user 'access soap server' permission  - NOT FOR PRODUCTION USE
-Use SOAPUI or ther test client to import the WSDL from http://example.com/{endpoint_path}?wsdl
-or
-Enable devel module
-View a node object and user object debug client at soap_server/debug_client/{endpoint_name}/{nid}
-The debug client will show:
-ARGS
-Endpoint object
-Node object
-
-Available client functions
-The XML of the request
-The XML of the response
-The node object retrieved from the node.retrieve service from the supplied nid
-The user object for user 1
-
-NOTES
-+++++
-
-If an endpoint is configured to use one or more Hose XML endpoints then Hose XML will take over 
-WSDL generation for the endpoint which may have unexpected results for Services (or other) resources. 
Index: 3-modules/soap_server/soap_server.info
===================================================================
--- 0.3-modules/soap_server/soap_server.info	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,15 +1,0 @@
-; $Id: soap_server.info,v 1.1.4.1.2.1 2011/01/17 15:09:31 rayvaughn Exp $
-name = Soap Server
-description = Provides SOAP server for Services 3.x
-package = Services - servers
-dependencies[] = services
-core = 6.x
-recommends[] = devel
-recommends[] = geshifilter
-
-; Information added by drupal.org packaging script on 2011-06-10
-version = "6.x-3.0-alpha1"
-core = "6.x"
-project = "soap_server"
-datestamp = "1307705219"
-
Index: 3-modules/soap_server/soap_server.module
===================================================================
--- 0.3-modules/soap_server/soap_server.module	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,426 +1,0 @@
-<?php
-// $Id: soap_server.module,v 1.2.2.2.2.2.2.10 2011/02/01 14:27:50 rayvaughn Exp $
-/**
- * @file
- * Enable SOAP for services module (6.x-3.x).
- *
- * The XMLRPC style {resource}.{method} method names have been replaced with
- * {resource}_{method} which are valid PHP function names.
- *
- * The WSDL provides type information for request parameters which is generated from the resource
- * info. Response
- */
-
-/**
- * Drupal core hooks.
- */
-
-/**
- * Implementation of hook_menu().
- */
-function soap_server_menu() {
-  $items['soap_server/debug_wsdl/%soap_server_endpoint'] = array(
-    'type' => MENU_CALLBACK,
-    'title' => 'Soap Server 3 Debug WSDL',
-    'page callback' => 'soap_server_debug_wsdl',
-    'page arguments' => array(2),
-    'access arguments' => array('debug soap server'),
-  );
-    $items['soap_server/debug_client/%soap_server_endpoint/%node'] = array(
-    'title'            => 'Soap Server Debug Client',
-    'access arguments' => array('debug soap server'),
-    'page callback'    => 'soap_server_debug_client',
-    'page arguments'   => array(2, 3),
-    'type'             => MENU_CALLBACK,
-  );
-  return $items;
-}
-
-/**
- * endpoint menu loader
- *
- * Return the services endpoint object from the endpoint name.
- *
- * @param unknown_type $endpoint_name
- */
-function soap_server_endpoint_load($endpoint_name) {
-  $endpoint = services_endpoint_load($endpoint_name);
-  if (is_object($endpoint)) {
-    return $endpoint;
-  }
-  return FALSE;
-}
-
-/**
- * Implementation of hook_perm().
- */
-function soap_server_perm() {
-  return array('access soap server', 'debug soap server');
-}
-
-/**
- * Implementation of hook_server_info().
- *
- * This function tells services module that we are providing a server
- */
-function soap_server_server_info() {
-  return array(
-    'name' => 'SOAP',
-  );
-}
-
-/**
- * Services 3 hooks.
- */
-
-/**
- * Implementation of hook_server().
- *
- * The services endpoint callback function that handles all requests to a SOAP
- * server 3 endpoint. If ?wsdl is appended to the URL, the WSDL is served.
- */
-function soap_server_server() {
-  $info =  services_server_info_object();
-  $endpoint = services_endpoint_load($info->endpoint);
-  $get = $_GET;
-  // Serve the WSDL if ?wsdl is appended to the URL.
-  if (in_array('wsdl', array_keys($get))) {
-    // The soap_server_wsdl_output() function delivers the WSDL and exits.
-    soap_server_wsdl_output($endpoint);
-  }
-  // Disable the WSDL cache so it's not stored in memory or on disk.
-  //ini_set("soap.wsdl_cache_enabled", "0");
-  $wsdl_url = url($endpoint->path, array('absolute' => TRUE, )) . '?wsdl';
-
-
-  //se configura para que el servidor no compruebe el certificado
-  $context = array(
-    'ssl' => array(
-      // set some SSL/TLS specific options
-      'verify_peer' => false,
-      'verify_peer_name' => false,
-    ),
-  );
-/*
-  $options = array(
-    'cache_wsdl' => 0,
-    'trace' => true,
-    'stream_context'=> stream_context_create($context),
-  );
-*/
-  $options = array(
-    'cache_wsdl' => 0,
-    'trace' => true,
-    'stream_context'=> stream_context_create($context),
-    'uri' => $wsdl_url,
-  );
-  try {
-    //$server = new SoapServer($wsdl_url, $options);
-    $server = new SoapServer(null, $options);
-    $server->setClass(ServicesSoapServer);
-    $server->handle();
-  }
-  catch (Exception $e) {
-    watchdog('soap_server', $e->getMessage(), 'error');
-  }
-  exit;
-}
-
-/**
- * Get a WSDL for the given endpoint.
- *
- * The WSDL provides a soap method for each method of the configured resources.
- * See /admin/build/services/your_endpoint/resources
- *
- * @param $endpoint
- */
-function soap_server_get_wsdl($endpoint) {
-  // allow other modules to provide the wsdl
-  $wsdl_overrides = module_invoke_all('soap_server_wsdl', $endpoint);
-  if (is_array($wsdl_overrides) && !empty($wsdl_overrides)) {
-    // if there is more than 1 wsdl the first takes priority allowing modules to override others by
-    // setting system weight
-    $wsdl = array_shift($wsdl_overrides); 
-    return $wsdl;
-  }
-  $service_endpoint = url($endpoint->path, array('absolute' => TRUE));
-  // get the content of the schema for each hose_xml profile using the standard namespace xs:
-  $methods = _soap_server_get_methods($endpoint->name);
-  foreach ($methods as $method_name => $method_config) {
-    // requests can specify which field to use to identify the node - default is nid
-    $parts = "";
-    // add parameters from the args array in the resource
-    foreach ((array)$method_config['args'] as $arg) {
-      switch ($arg['type']) {
-        case 'int':
-        case 'string':
-        case 'struct':
-          $parts .= "
-    <part name='"  . $arg['name'] ."' type='xsd1:". $arg['type'] ."' />"; 
-          break;
-        // we can work out how to deal with other parameter types later
-        default:
-          $parts .= "
-    <part name='". $arg['name'] ."' type='xsd1:any'/>";
-      }    
-    }
-    $requests .= "
-  <message name='". $method_name ."_request'>". $parts ."
-  </message>";
-    // we don't know what the response will be so go for struct - seems like this is appropriate
-    // for most resources
-    $responses .= "
-  <message name='". $method_name ."_response'>
-    <part name='response_object' type='xsd1:struct'/>
-  </message>";
-    $port_type_operations .= "
-  <operation name='$method_name'>
-    <input message='tns:". $method_name ."_request'/>
-    <output message='tns:". $method_name ."_response'/>
-  </operation>";
-    $binding_operations .= "
-  <operation name='$method_name'>
-    <soap:operation soapAction='urn:xmethods-delayed-quotes#$method_name'/>
-    <input>
-      <soap:body 
-      	use='literal' 
-      	namespace='urn:xmethods-delayed-quotes' />
-    </input>
-    <output>
-      <soap:body 
-      	use='literal' 
-      	namespace='urn:xmethods-delayed-quotes' />
-    </output>
-  </operation>
-";
-  }
-  $include = drupal_get_path('module', 'soap_server') . '/wsdl/soap_server.wsdl.inc';
-  if (!is_file($include)) {
-    return t("Could not load include @inc", array('@inc' => $include));
-  }
-  else {
-    require_once($include);
-    // $wsdl_content is assigned in the include file
-    return $wsdl_content;
-  }
-}
-
-/**
- * Delivers XML suitable for supplying WSDL to Soap clients.
- *
- * @param $xml
- *   The content of the WSDL to serve
- */
-function soap_server_wsdl_output($endpoint) {
-  $wsdl_content = soap_server_get_wsdl($endpoint);
-  ob_end_clean();
-  drupal_set_header('Connection: close');
-  drupal_set_header('Content-Length: ' . drupal_strlen($wsdl_content));
-  drupal_set_header('Content-Type: application/wsdl+xml; charset=utf-8');
-  drupal_set_header('Date: '. date('r'));
-  echo $wsdl_content;
-  exit;
-}
-
-
-/**
- * Soap Server 3 Class for handling soap requests.
- */
-class ServicesSoapServer {
-  public function __call($method_name, $args) {
-    // Handle the request.
-    $info =  services_server_info_object();
-    $endpoint = services_endpoint_load($info->endpoint);
-    $services_method_name = str_replace('_soap_', '.', $method_name);   
-    $controller = services_controller_get($services_method_name, $endpoint->name);
-    // make sure any arguments not passed have default values inserted if they are supplied 
-    // TODO: should we be validating argument types here?
-    foreach ($controller['args'] as $key => $arg_config) {
-      if (!isset($args[$key]) && isset($arg_config['default value'])) {
-        $args[$key] = $arg_config['default value'];
-      }
-    }
-    
-    if ($endpoint->debug) {
-      watchdog('soap server', "METHOD_NAME:<pre>". print_r($method_name, TRUE)."</pre");
-      watchdog('soap server', "ENDPOINT:<pre>". print_r($endpoint, TRUE)."</pre");
-      watchdog('soap server', "ARGS:<pre>". print_r($args, TRUE)."</pre");
-      watchdog('soap server', "CONTROLLER:<pre>". print_r($controller, TRUE)."</pre");
-    }
-    try {
-      $ret = services_controller_execute($controller, $args);
-    }
-    catch (Exception $e) {
-      $code = $e->getCode();
-      $soap_fault = new SoapFault($e->getMessage(), $code);
-      watchdog('soap_server', $e->getMessage(), 'error');
-      throw $soap_fault;
-    }
-    return $ret;
-  }
-}
-
-/**
- * Return a list of service methods for the endopint
- * Method names are created from {resource}_{method} or {resource}_action_{method}
- * NB: These method names are different from the XMLRPC names because PHP5 can't have a . in function
- * names
- *
- * @param $endpoint
- */
-function _soap_server_get_methods($endpoint) {
-  $resources = services_get_resources($endpoint);
-  // traverse the resources retrieving valid methods and action methods
-  // TODO: inspect services to confirm the validity of this approach
-  foreach ($resources as $resource_name => $resource_info) {
-    foreach ($resource_info as $method_name => $method_data) {
-      if (!is_array($method_data)) {
-        // it's not a method
-        continue;
-      }
-      if ( isset($method_data['callback'])) {
-        // if this element has a callback we'll assume it is a method
-        $soap_method_name = $resource_name .'_soap_'. $method_name;
-        $supported_methods[$soap_method_name] = $method_data;
-      }
-      if ($method_name == "actions") {
-        // TODO: confirm that all actions elements are valid methods
-        foreach ($method_data as $action_name => $action_data) {
-          $soap_method_name = $resource_name .'_soap_'. $action_name;
-          $supported_methods[$soap_method_name] = $action_data;
-        }
-      }
-    }
-  }
-  return $supported_methods;
-}
-
-/**
- * Debug function for soap_server services. The devel module is required to use
- * this function.
- *
- * @param $nid
- */
-function soap_server_debug_client($endpoint, $node) {
-  if (!module_exists('devel')) {
-    drupal_set_message(t('Devel module is required for the debug client function.'), 'error');
-    return t("fail");
-  }
-  $debug_output == array(
-    'endpoint' => $endpoint,
-  	'node' => $node,
-  );
-  if (empty($endpoint)) {
-    watchdog('soap_server', 'no endpoint obj in debug client', 'error');
-    return 'fail - no endpoint obj in debug client';
-  }
-  ini_set("soap.wsdl_cache_enabled", "0"); // disabling WSDL cache
-  $wsdl_url = url($endpoint->path, array('absolute' => TRUE, )) . '?wsdl';
-  try {
-    $client = new SoapClient($wsdl_url, array(
-      'trace' => 1
-    ));
-    // show the available functions as specified in the WSDL
-    $functions = $client->__getFunctions();
-    $debug_output['client functions'] = $functions;
-    
-    // retrieve a node  -  need node access for anonymous
-    $return = $client->node_soap_retrieve($node->nid);
-    $response = $client->__getLastResponse();
-    $request = $client->__getLastRequest();
-    $debug_output["node_soap_retrieve"] = array(
-      $node->nid => array('request' => $request, 'response' => $response, 'return' => $return)
-    );
-    
-    //retrieve a variable - enable services "get a system variable" permission for anonymous
-    $return = $client->system_soap_get_variable('css_js_query_string');
-    $response = $client->__getLastResponse();
-    $request = $client->__getLastRequest();
-    $debug_output["system_soap_get_variable"] = array(
-      'css_js_query_string' => array('request' => $request, 'response' => $response, 'return' => $return)
-    );  
-    
-    // retrieve a user  - needs acess for anonymous
-    $return = $client->user_soap_retrieve(1);  // anonymous user needs "access user profiles" perm
-    $response = $client->__getLastResponse();
-    $request = $client->__getLastRequest();
-    $debug_output["user_soap_retrieve"] = array(
-      1 => array('request' => $request, 'response' => $response, 'return' => $return)
-    );
-    
-  } catch (Exception $e) {
-    $debug_output['client'] = $e;
-  }
-  dsm($debug_output);
-  return t("done");
-}
-
-/**
- * Display the content of the WSDL for debugging.
- *
- * @param $endpoint
- */
-function soap_server_debug_wsdl($endpoint) {
-  $wsdl_content = soap_server_get_wsdl($endpoint);
-  $wsdl_content = _soap_server_beautify_wsdl($wsdl_content);
-  if (module_exists('geshifilter')) {
-    $geshi_inc = drupal_get_path('module', 'geshifilter') .'/geshifilter.pages.inc';
-    require_once $geshi_inc;
-    $wsdl_content = geshifilter_geshi_process($wsdl_content, 'xml', TRUE);
-  }
-  else {
-    $wsdl_content = "<code>". htmlspecialchars($wsdl_content) ."</code>";
-  }
-  return $wsdl_content;
-}
-
-/**
- * Make the WSDL look nice.  
- * 
- * WARNING: This is NOT a general XML formatter because it will remove whitespace
- * between tags and in CDATA blocks
- * 
- * @param unknown_type $xml
- */
-function _soap_server_beautify_wsdl($xml) { 
-  // remove whitespace between tags
-  $xml = preg_replace('/(>)(\s*)(<)/', '$1$3', $xml);
-  // limit spaces and tabs one space
-  $xml = preg_replace('/([ \t]{2,})/', ' ', $xml);
-  // add marker linefeeds to aid the pretty-tokeniser (adds a linefeed between all tag-end boundaries)
-  $xml = preg_replace('/(>)\s*(<)(\/*)/', "$1\n$2$3", $xml);
-  
-  // now indent the tags
-  $token      = strtok($xml, "\n");
-  $result     = ''; // holds formatted version as it is built
-  $pad        = 1; // initial indent
-  $matches    = array(); // returns from preg_matches()
-  
-  // scan each line and adjust indent based on opening/closing tags
-  while ($token !== false) : 
-  
-    // test for the various tag states
-    
-    // 1. open and closing tags on same line - no change
-    if (preg_match('/.+<\/\w[^>]*>$/', $token, $matches)) : 
-      $indent=0;
-    // 2. closing tag - outdent now
-    elseif (preg_match('/^<\/\w/', $token, $matches)) :
-      $pad--;
-    // 3. opening tag - don't pad this one, only subsequent tags
-    elseif (preg_match('/^<\w[^>]*[^\/]>.*$/', $token, $matches)) :
-      $indent=1;
-    // 4. no indentation needed
-    else :
-      $indent = 0; 
-    endif;
-    
-    // pad the line with the required number of leading spaces
-    $line    = str_pad($token, strlen($token)+$pad, ' ', STR_PAD_LEFT);
-    $result .= $line . "\n"; // add to the cumulative result, with linefeed
-    $token   = strtok("\n"); // get the next token
-    $pad    += $indent; // update the pad size for subsequent lines    
-  endwhile; 
-  
-  return $result;
-}
Index: 3-modules/soap_server/soap_server.test
===================================================================
--- 0.3-modules/soap_server/soap_server.test	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,104 +1,0 @@
-<?php
-// $Id: soap_server.test,v 1.1.2.1 2011/01/22 03:34:04 ilo Exp $
-
-/**
- * @file
- * Simpletest case for soap_server module.
- *
- * Verify SOAP server provides valid WSDL file and handles requests properly.
- */
-
-/**
- * Functionality tests for email example module.
- */
-class SoapServerTestCase extends DrupalWebTestCase {
-
-  /**
-   * Save endpoint settings for testing.
-   * 
-   * @var array
-   */
-  protected $endpoint;
-
-  public static function getInfo() {
-    return array(
-      'name' => 'Soap Server',
-      'description' => 'Verify Soap server implementation.',
-      'group' => 'Services',
-      'dependencies'
-    );
-  }
-
-  function setUp(){
-    // Enable soap_server should enable also services.
-    parent::setUp(array('ctools', 'services', 'soap_server'));
-
-    // Login as services administrator.
-    $user = $this->drupalCreateUser(array('administer services'));
-    $this->drupalLogin($user);
-
-    // Create a SOAP endpoint.
-    $this->endpoint = array(
-      'name'   => 'soap_server_test_endpoint',
-      'title'  => $this->randomName(),
-      'server' => 'soap_server',
-      'path'   => 'services/soap/simpletest',
-      'services_use_content_permissions' => TRUE,
-    );
-    $this->drupalPost(
-      'admin/build/services/add',
-      $this->endpoint,
-      t('Save and proceed')
-    );
-    $this->assertRaw(t('Your new endpoint %title has been saved.', array('%title' => $this->endpoint['title'])));
-
-    // Enable system resources
-    $resources = array(
-      'resources[system][actions][connect][enabled]'       => TRUE,
-      'resources[system][actions][get_variable][enabled]'  => TRUE,
-      'resources[system][actions][set_variable][enabled]'  => TRUE,
-    );
-    $this->drupalPost(
-      'admin/build/services/' . $this->endpoint['name'] . '/resources',
-      $resources,
-      t('Save')
-    );
-    $this->assertRaw(t('Your resources have been saved.'));
-
-  }
-
-  /**
-   * Verify WSDL generation.
-   */
-//  function testWSDLGeneration() {
-//  }
-
-  /**
-   * Verify SOAP server handler.
-   */
-  function testSOAPHandler() {
-    $wsdl_url = url($this->endpoint['path'], array('absolute' => TRUE)) . '?wsdl';
-
-    // exceptions will not work in this context.
-    $options = array('trace' => 1, 'exceptions' => TRUE);
-    if (preg_match('/simpletest\d+/', $this->databasePrefix, $matches)) {
-      $options += array('user_agent' => drupal_generate_test_ua($matches[0]));
-    }
-    $client = new SoapClient($wsdl_url, $options);
-    $result = $client->__getFunctions();
-
-    if (is_soap_fault($result)) {
-      $this->fail('Return service available functions.');
-    }
-    else {
-      $this->assertTrue(strstr($result[0], 'system_connect') , t('System connect method found.'));
-      $this->assertTrue(strstr($result[1], 'system_get_variable') , t('System get_variable method found.'));
-      $this->assertTrue(strstr($result[2], 'system_set_variable') , t('System set_variable method found.'));
-    }
-
-  }
-
-}
-
-
-
Index: 3-modules/soap_server/wsdl/soap_server.wsdl.inc
===================================================================
--- 0.3-modules/soap_server/wsdl/soap_server.wsdl.inc	(revision 66980b92ef3cb4ef1c8004ae10465885cfeaf7cd)
+++ 	(revision )
@@ -1,40 +1,0 @@
-<?php
-// $Id: soap_server.wsdl.inc,v 1.2.2.3 2011/01/21 23:12:57 ilo Exp $
-/**
- * @file
- * This file is a template for WSDL construction by soap_server.
- */
-
-$wsdl_content = "<?xml version='1.0' encoding='UTF-8' ?>
-<definitions name='soap_server'
-  targetNamespace='urn:soap_server'
-  xmlns:tns='urn:soap_server'
-  xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
-  xmlns:xsd1='http://www.w3.org/2001/XMLSchema'
-  xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
-  xmlns='http://schemas.xmlsoap.org/wsdl/'>
-  
-  <types>
-  	<xsd:schema targetNamespace='urn:soap_server'
-      xmlns:xsd='http://www.w3.org/2001/XMLSchema' />
-  </types>
-  
-$requests
-
-$responses
-
-  <portType name='soap_server_port_type'>
-$port_type_operations
-  </portType>
-
-  <binding name='soap_server_binding' type='tns:soap_server_port_type'>
-    <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http' />
-$binding_operations
-  </binding>
-
-  <service name='soap_server_service'>
-    <port name='soap_server_port' binding='tns:soap_server_binding'>
-      <soap:address location='$service_endpoint'/>
-    </port>
-  </service>
-</definitions>";
