Hello, ISPConfig version is 3.0.5.4p5 [INFO] php (cli) version is 5.6.5-1 Debian version: Linux xxx 3.10.23-xxxx-std-ipv6-64 #1 SMP Tue Mar 18 14:48:24 CET 2014 x86_64 GNU/Linux Roundcube Webmail 1.0.5 (Up to date) ispconfig3_roundcube (Up to date) remote user created, all Functions activated (for testing purpose & to be sure it's not an access right problem)) Remote API Allowed: # grep api /usr/local/ispconfig/security/security_settings.ini remote_api_allowed=yes # cat /var/www/xxx/web/plugins/ispconfig3_account/config/config.inc.php <?php $rcmail_config['identity_limit'] = false; $rcmail_config['remote_soap_user'] = 'remote'; $rcmail_config['remote_soap_pass'] = 'xxxxxxx'; $rcmail_config['soap_url'] = 'https://xxxx:yyy/remote/'; ?> (port is not 443) I first had a problem with remote https access. Problem solved by installing a SSL certificate Valid (not self signed). Now this XML error. I searched the forum and Internet abour this error without success I tried this: https://www.howtoforge.com/community/threads/soap-error-looks-like-we-got-no-xml-document.62307/ Without success (it's not for my Ispconfig version) I found nothing usefull in Apache2 or roundcube logs... I am out of ideas (except downgrade roundcube to 1.0.4, but I don't tried yet) so I asked for help today. Thank you in advance for your help. Laurent.
Do you get any errors when you open https://xxxx:yyy/remote/ in a browser? You should just get a empty white page.
Hello Till, Thank you for your answer. "Unfortunately" it works very well: Blank page without error. The remote connexion is good. I'm trying to debug the soap answer in inserting the code bellow in the php files: 'wsdl_cache' => 0, 'trace' => 1 and echo $client->__getLastResponse(); But I'm not able to use it corectly... /-)
Hello, I walk a little on the debug... In file ispconfig3_account.php Error is showed by line 179, so I replace it with something more usefull for me: // $this->rcmail_inst->output->command('display_message', 'Soap Error: ' . $e->getMessage(), 'error') $ses_er = print_r($this->rcmail_inst->config->get('remote_soap_user'), true); $this->rcmail_inst->output->command('display_message', 'Soap Error: ligne 179 ' . $e->getMessage() . " - " . $ses_er, 'error'); I get now (of course...): Soap Error: ligne 179 looks like we got no XML document - remote I'm trting now to play with function init() - Line 9 to 20 With this: function init() // { // $this->rcmail_inst = rcmail::get_instance(); // $this->load_config(); // $this->add_texts('localization/', true); // $this->soap = new SoapClient(null, array('location' => $this->rcmail_inst->config->get('soap_url') . 'index.php', // 'uri' => $this->rcmail_inst->config->get('soap_url'))); // $this->register_action('plugin.ispconfig3_account', array($this, 'init_html')); // $this->register_action('plugin.ispconfig3_account.show', array($this, 'init_html')); // $this->add_hook('template_object_identityform', array($this, 'template_object_identityform')); // $this->include_script('account.js'); // } { $this->rcmail_inst = rcmail::get_instance(); $this->load_config(); $this->add_texts('localization/', true); $this->soap = new SoapClient(null, array('location' => $this->rcmail_inst->config->get('soap_url') . 'index.php', 'uri' => $this->rcmail_inst->config->get('soap_url'), 'proxy_host' => 'xxxxxxxxx.xxx', 'proxy_port' => yyyyy )); $this->register_action('plugin.ispconfig3_account', array($this, 'init_html')); $this->register_action('plugin.ispconfig3_account.show', array($this, 'init_html')); $this->add_hook('template_object_identityform', array($this, 'template_object_identityform')); $this->include_script('account.js'); } I get Soap Error: ligne 179 Could not connect to host - remote I do not despair of understanding what's going on ... If anyone sees a better way to debug, he does not hesitate to let me know! If I can find the problem, I would not fail to share the way I get around. Laurent.
Hello, I have not given up (although I've left a little while)! I created an Apache2 session for ISPConfig listening on 127.0.0.1:8080 without ssl to avoid potential problems with https. I still have the same problem, and something "funny" ... I have exactly the same problem with another module (Ispconfig for Whmcs): https: //github.com/cwispy/ispcfg3 Module Command Error SOAP Error: Looks like we got no XML document This could be a problem with ISPConfig since the same error is reproduced with two different modules. Interesting information: I have no error with the tab change password ISPConfig module for Roundcube.
I've updated a server of a customer yesterday which uses roundcube as well, I updated to ispconfig 3.0.5.4p5 with roundcube 1.1.0 and the latest roundcube ispcofig plugin and the setup works there, so generaly it should work
Strange and annoying problem ... I do not think it's a problem with the version of Roundcube or even with the modules. Apache or php perhaps? I continue to look for a way to get a workaround. Thank you Till for bother to answer me.
Do you use software like moD-security that might block the request? You can try to define a error.log in the apache ispconfig.vhost and then check that error.log for php or other apache errors.
Nope, no mod-security nor mod-security2 installed. I found this lines in apache error logs: When SOAP is called from roundcube: [Wed Feb 25 11:51:36.739572 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0 [Wed Feb 25 11:51:36.739610 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 33 [Wed Feb 25 11:51:36.739617 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 34 [Wed Feb 25 11:51:36.739624 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 35 [Wed Feb 25 11:51:36.739630 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/web/remote/index.php on line 17 [Wed Feb 25 11:51:36.739635 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/web/remote/index.php on line 17 [Wed Feb 25 11:51:36.739644 2015] [fcgid:warn] [pid 31051] [client 2001:41d0:c:58b::1:48087] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in Unknown on line 0 When SOAP is called from WHMCS: [Wed Feb 25 11:51:52.050947 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0 [Wed Feb 25 11:51:52.051009 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 33 [Wed Feb 25 11:51:52.051017 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 34 [Wed Feb 25 11:51:52.051026 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/lib/config.inc.php on line 35 [Wed Feb 25 11:51:52.051032 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/web/remote/index.php on line 17 [Wed Feb 25 11:51:52.051038 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in /usr/local/ispconfig/interface/web/remote/index.php on line 17 [Wed Feb 25 11:51:52.051044 2015] [fcgid:warn] [pid 31887] [client 127.0.0.1:37012] mod_fcgid: stderr: PHP Warning: Cannot modify header information - headers already sent in Unknown on line 0 This is obviously related to my problem! Finally, an early commencement of research approach...
Do you have a whitepace before the opening <?php tag in /usr/local/ispconfig/interface/web/remote/index.php or in the file /usr/local/ispconfig/interface/lib/config.inc.php ?
"Unfortunately" no, I have already check. I tried with "fresh" files from my /tmp ispconfig archive, and I also tried to convert files with "dos2unix" command. Files are Ok, no space at beginning or "dos" characters inside. Contrary to what I thought it was not related to SOAP (it seems). I keep trying to understand what's wrong... I will not repeat it in every post, but still ... thank you Till for your interest and support!
F**k! Got it. always_populate_raw_post_data = -1 The Apache log was the track to follow! Perhaps it is linked to my apache ou PHP version (Are they fully compatible with Ispconfig ?) # apt-cache policy apache2 apache2: Installé : 2.4.10-9 # apt-cache policy php5 php5: Installé : 5.6.5+dfsg-2 But it is solved, no more SOAP error and no more apache2 error logs! Phew ...
The raw_post_data setting is not from ispconfig and the warning in the log is not from ispconfig as well. I guess you manually activated that option in your php.ini as it is off by default in your php version, as far as I kow.
In all my php.ini (apache2/cgi & cli) it was commented (and not by me). ;always_populate_raw_post_data = -1 It's perhaps a new default presset on Jessie ? I don't remember how it was on Lennie or Wheezy.
Hi Till, I confirm the problem on another server. I do not have, either, activated manually the option on that server. Defaults settings of php.ini ; Always populate the $ HTTP_RAW_POST_DATA variable. PHP's default behavior is ; to disable this feature. ; http://php.net/always-populate-raw-post-data ; always_populate_raw_post_data = On Modification to do: ; Always populate the $ HTTP_RAW_POST_DATA variable. PHP's default behavior is ; to disable this feature. ; http://php.net/always-populate-raw-post-data ; always_populate_raw_post_data = On always_populate_raw_post_data = -1 By modifying the php.ini (which I had not modified before) the error disappears. apt-cache policy php5 php5: Installé : 5.6.6+dfsg-2 What I found strange is the comment in the php.ini... "PHP's default behavior is to disable this feature" Best Regards, Laurent.