Hi, I've been getting the following error but can't figure out where I'm going wrong.

Error of type Exception occured: [-32601] Server error. Requested method drd.api not specified. (http://www.mysite.com/xmlrpc.php->Array), _drd_xmlrpc(), /var/www/remotesitemanager/sites/default/modules/drd/drd.dashboard.inc, 724

I'm using...

Drupal Remote Dashboard - Server = 6.x-1.x-dev
Drupal Remote Dashboard = 7.x-1.x-dev

The error log shows...

[9001] Error
Exception Object
(
    [message:protected] => [-32601] Server error. Requested method drd.api not specified. (http://www.mysite.com/xmlrpc.php->Array)
    [string:Exception:private] => 
    [code:protected] => 0
    [file:protected] => /var/www/remotesitemanager/sites/default/modules/drd/drd.dashboard.inc
    [line:protected] => 724
    [trace:Exception:private] => Array
        (
            [0] => Array
                (
                    [file] => /var/www/remotesitemanager/sites/default/modules/drd/drd.dashboard.inc
                    [line] => 211
                    [function] => _drd_xmlrpc
                    [args] => Array
                        (
                            [0] => http://www.mysite.com/xmlrpc.php
                            [1] => drd.api
                            [2] => 1.0.19
                        )

                )

            [1] => Array
                (
                    [file] => /var/www/remotesitemanager/sites/default/modules/drd/drd.dashboard.inc
                    [line] => 335
                    [function] => drd_session
                    [args] => Array
                        (
                            [0] => 4
                        )

                )

            [2] => Array
                (
                    [file] => /var/www/remotesitemanager/sites/default/modules/drd/drd.module
                    [line] => 147
                    [function] => drd_dashboard_server_domains
                    [args] => Array
                        (
                            [0] => 4
                        )

                )

            [3] => Array
                (
                    [file] => /var/www/remotesitemanager/sites/default/modules/drd/drd.module
                    [line] => 334
                    [function] => drd_execute
                    [args] => Array
                        (
                            [0] => 4
                            [1] => 4
                            [2] => 
                            [3] => 
                            [4] => ServerDomains
                        )

                )

            [4] => Array
                (
                    [function] => drd_interact
                    [args] => Array
                        (
                        )

                )

            [5] => Array
                (
                    [file] => /var/www/remotesitemanager/includes/menu.inc
                    [line] => 503
                    [function] => call_user_func_array
                    [args] => Array
                        (
                            [0] => drd_interact
                            [1] => Array
                                (
                                )

                        )

                )

            [6] => Array
                (
                    [file] => /var/www/remotesitemanager/index.php
                    [line] => 21
                    [function] => menu_execute_active_handler
                    [args] => Array
                        (
                        )

                )

        )

    [previous:Exception:private] => 
)

Any advice?

Thanks.

CommentFileSizeAuthor
#6 Captura_de_tela.png108.97 KBcelsogod
#6 Captura_de_tela-1.png179.95 KBcelsogod

Comments

jurgenhaas’s picture

Status: Active » Postponed (maintainer needs more info)

The only explanation I can currently think of is that the drd_server module is not installed on the Drupal server http://www.mysite.com

Because if it was, the xmlrpc call would know about a callback called drd.api but in your case it doesn't.

Can you please double check?

randomuser’s picture

Hi again, thanks for your quick reply, I can confirm that the 'Drupal Remote Dashboard - Server = 6.x-1.x-dev' is running on the www.mysite.com (obviously renamed) server, it appears and is ticked in the modules list anyway.

Is there a way to confirm that everything installed properly? Maybe checking the database? Also, is there a settings page? I can't seem to find one but maybe its not needed?

My site is stupidly setup under the 'sites/default' directory, would that be affecting it?

Is the sites.php still needed in the sites directory? If it is then how should it look for declaring that the site is in 'sites/default'?

<?php
  $sites = array(
    'www.mysite.com' => 'default',
  );
?>

In the log there is a bit that looks like...

Type - drd[5]

[1001] Start AJAX Call
op = ServerDomains
server-id = 4
domain-id = 
url = 

Are those values suppose to be blank?

Thanks again.

jurgenhaas’s picture

Just to make sure we're singing from the same hymn:

- module drd is installed on a d7 build
- module drd_server is installed on a d6 build (different domain)
- on the d7 server in the drd dashboard you have configured the d6 domain as a new server

In such a scenario the drd dashboard on the d7 server would call the d6 server and determine all the domains being hosted on that d6 server. That's why in your log the op equals "ServerDomains" and the server-id is 4. The other parameters are not required.

If all that is true, I have no idea why the callback drd.api shouldn't be available. It is the most basic thing that's being used by Drupal core's xmlrpc framework. As a last resort I suggest to flush cash and to run update.php but to be honest I don't think any of that would help.

You would have to debug what's happening on the D6 server and why it believes that this callback isn't there. If you're not familiar with that I can offer to help you with that if you wanted to give me access to that server.

celsogod’s picture

In the package "Drupal Remote Dashboard - Server = 6.x-1.x-dev" is not defined drd.api and DRD_API_VERSION in drd_server.module . Therefore, the message "Requested method drd.api not specified".
Excuse my poor English.

Thanks.

jurgenhaas’s picture

Status: Postponed (maintainer needs more info) » Needs review

This was kind of crazy. It looks like the migration to GIT on Feb 25 somehow screwed up the code. If now submitted the correct 6.x.1.x release again, please give that a try and let us know if it now works fine (again).

celsogod’s picture

StatusFileSize
new179.95 KB
new108.97 KB

I installed new realease and have been shown the following errors.

The following errors shown on the server that is being monitored (drd_server).

Error messages:

Location:	http://smed48.pbh/nape/xmlrpc.php
fopen(/var/www//sites/default/files/drd_id.html) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: No such file or directory em /var/www/nape/sites/all/modules/drd_server/drd_server.server.inc na linha 41.

Location:	http://smed48.pbh/nape/xmlrpc.php
fwrite() expects parameter 1 to be resource, boolean given em /var/www/nape/sites/all/modules/drd_server/drd_server.server.inc na linha 42.

Location:	http://smed48.pbh/nape/xmlrpc.php
fclose() expects parameter 1 to be resource, boolean given em /var/www/nape/sites/all/modules/drd_server/drd_server.server.inc na linha 43.

Location:	http://smed48.pbh/nape/sites/default/files/drd_id.html
Page not found	sites/default/files/drd_id.html

Location:	http://smed48.pbh/nape/xmlrpc.php
file_get_contents(http://smed48.pbh/nape/sites/default/files/drd_id.html) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found em /var/www/nape/sites/all/modules/drd_server/drd_server.server.inc na linha 49.

Location: http://smed48.pbh/nape/xmlrpc.php
unlink(/var/www//sites/default/files/drd_id.html) [<a href='function.unlink'>function.unlink</a>]: No such file or directory em /var/www/nape/sites/all/modules/drd_server/drd_server.server.inc na linha 50.

Errors Server Monitoring:

"Run cron", "Run update" and "Switch maintenance-mode" did not work and no message was shown.

"Get Server PHP Error Log" generated error message. See attached images.

jurgenhaas’s picture

All starts with the first error: DRD wants to write a file into /var/www//sites/default/files/drd_id.html which fails. Probably because your web server user has no permission to write into that directory or the directory doesn't exist. So you should create the directory and make sure your web server user has write permissions into it.

celsogod’s picture

My site live in a subdirectory in the root of webserver. The path to drd_id.html was wrong. The constant DRUPAL_ROOT was set to $_SERVER['DOCUMENT_ROOT'] on the drd_server.module file in line 5. I Reset DRUPAL_ROOT with getcwd() and everything worked properly.

In short,
I changed
define('DRUPAL_ROOT', $_SERVER['DOCUMENT_ROOT']);
by
define('DRUPAL_ROOT', getcwd());
in drd_module, line 5 and everything worked properly.

Your module has saved my day.
Thank you very much.

jurgenhaas’s picture

Status: Needs review » Fixed

Thanks @celsogod for pointing that out. I've corrected and comitted this to the latest dev.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.