Soap api problems after upgrading 7.14 & php 8.2

I’m using implicit frontend to sync outlook and suitecrm.

After upgrading to suitecrm 7.14 and php 8.2 and facing that no access to suitecrm is possible, even validate user/password.

the logs that the server is generating are

[Sun Sep 03 17:50:25.626332 2023] [proxy_fcgi:error] [pid 119143] [client 192.168.72.1:52393] AH01071: Got error ‘usoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111; PHP message: PHP Warning: Trying to access array offset on value of type bool in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 7111’

[Sun Sep 03 17:50:26.792383 2023] [proxy_fcgi:error] [pid 119075] [client 192.168.72.1:52394] AH01071: Got error ‘PHP message: PHP Warning: Array to string conversion in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 8930; PHP message: PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method SugarWebServiceImplv4_1::login() cannot be called statically in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php:5437\nStack trace:\n#0 /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php(5054): nusoap_server->invoke_method()\n#1 /var/www/crm.xxxx.com/https/service/core/NusoapSoap.php(94): nusoap_server->service()\n#2 /var/www/crm.xxxx.com/https/service/core/webservice.php(70): NusoapSoap->serve()\n#3 /var/www/crm.xxxx.com/https/service/v4_1/soap.php(56): require_once(’…‘)\n#4 {main}\n thrown in /var/www/crm.xxxx.com/https/include/nusoap/nusoap.php on line 5437’

Any help will be appreciated!

Regards

Hi,
These are Core API bugs, you must know coding to remove these errors.
Thanks.

1 Like

Dear Suitecrm team

any answer over this topic? i tested again to update to 7.14.1 and the errors in the soap api still remains.

The errors arise with direct calls (upload files, auth users, etc) also (no only with implicit plugin ofc)

Many thanks in advance

If there is no Issue on GitHub, you can be certain that no one is working in this.

I also doubt that much work will ever go into this API, since SuiteCRM v8 is based on a new GraphQL API.

You should just dive into the code and fix the bug yourself, or pay someone to do it, it shouldn’t be too expensive, these PHP version bugs are normally simple syntactic things.

1 Like

Hey
I managed to fix this error for php 8.2 by changing the line
around line 5431 in file public/legacy/include/nusoap/nusoap.php
from

            } elseif ($delim == '..') {
                $this->debug('in invoke_method, calling class method using call_user_func_array()');
                $call_arg = array($class, $method);
            } else {

to

            } elseif ($delim == '..') {
                $this->debug('in invoke_method, calling class method using call_user_func_array()');
                $instance = new $class();
                $call_arg = array(&$instance, $method);
            } else {
1 Like

Please, somebody make sure this is on Github, otherwise it won’t get fixed for everybody…

Looks like we don’t have that code suggested by abuzarfaris in the GitHub repository.

Line - 5428

 elseif ($delim == '..') {
                $this->debug('in invoke_method, calling class method using call_user_func_array()');
                $call_arg = array($class, $method);
            }

GitHub link to code file

It’s line number 5428

in the file include/nusoap/nusoap.php

@abuzarfaris ohh wow, thank you so much.

How on earth did you go about figuring this fix out - amazing.

Soap working again with php8.2

1 Like

Please someone make PR on the GitHub as suggested by pgr.

https://github.com/salesagility/SuiteCRM-Core/pulls

@rsp
I’ll create the pr

Created here: