更改服务器时REST服务器崩溃 - Drupal 6.22

时间:2011-11-09 11:17:37

标签: web-services rest drupal-6

问题

  • 使用REST服务器和服务模块安装Drupal 6.22。

  • 我对http://domainname.co.uk/rest/users/logout发帖,我收到500错误。

  • 在日志中:

    PHP Fatal error:  Call to undefined function services_resource_uri_formatter() in /home/organicd/public_html/domainname.co.uk/live/public/sites/all/modules/rest_server/includes/RESTServer.inc on line 15
    

背景

我安装了Drupal并安装了REST服务器并且运行正常。整个安装被移动到另一台服务器(不是我)。我被告知所有文件夹都保持完整。唯一的区别是旧服务器有SSL证书。

使用旧服务器,我可以使用REST控制台对https://domainname.co.uk/rest/users/logout进行POST,并注销当前用户。现在,上面的日志条目出现了500错误。

我尝试过什么

  • 禁用REST服务器。我读到服务3.0内置了REST。当我禁用REST服务器和服务,然后重新启用服务时,我得到:

     The plugin definition of services_ctools_export_ui cannot locate schema services_endpoint.
    

    我在模块管理中没有看到我可以设置REST设置的任何地方。

  • 不同版本的服务。尝试从6.x-3.0-rc1更新为6.x-3.0,但没有任何区别

  • 黑客攻击。我发现了一个具有services_resource_uri_formatter()功能的services.module版本。我添加了,但有一个类似的错误说它找不到另一个功能。我觉得这条路会导致疯狂。

版本

  • Drupal 6.22
  • Ctools 6.x-1.x-dev
  • REST Server 6.x-2.0-beta3
  • 服务6.x-3.0-rc1(也尝试了最新版本的6.x-3.0)

问题

如何让Drupal 6.22 REST再次运行?我做错了什么?

3 个答案:

答案 0 :(得分:4)

感谢John和Mir,

我们意识到在我们的案例中发生的事情是rest_server单个模块与服务模块本身包含的其余服务器功能之间的冲突。

我们的模块依赖于rest_server模块,我们正在启用并加载它。该模块在服务方面被打破了。

我们案例的解决方案是禁用单个rest_server并将其删除。禁用服务并再次启用。应该出现另一个rest_server版本3,它与服务一起提供。

然后我们启用这个休息服务器模块,它就像魔法一样。

问候。

答案 1 :(得分:2)

如果您使用的是服务3,请确保不依赖于Rest Server contrib模块(Rest Server与服务3捆绑在一起)。

答案 2 :(得分:0)

事实证明,我没有在管理界面中正确设置我的REST服务。

  1. 登录管理界面,然后转到“网站建设”>服务>列表。
  2. 点击“修改”
  3. 向下滚动到底部并勾选“会话身份验证”旁边的框,然后点击保存
  4. 我还需要在服务编辑屏幕的服务器选项卡下勾选所有“响应格式化程序”和“请求解析”框。

    我希望这可以解决其他问题!