WeBWorK Main Forum

Exception : Call to undefined method SoapFault::__soapCall()

Exception : Call to undefined method SoapFault::__soapCall()

by Kane Jean -
Number of replies: 6

Hello 
I have this error that appears, do you know what it is due to ???
when i click on www.XXXXXXX/mod/wwassignment/view.php?id=8631
Exception: Call to undefined method SoapFault :: __ soapCall ()
i have apache 2.4.23 and php 7.3
thank you in advance

In reply to Kane Jean

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Julie Tremblay -
Hi, i have admin access on the ccdmd webwork server. I suppose you have this problem when you click on a webwork assignment in you moodle page. I am trying to find a solution since wednesday.

From what I know so far, the webwork2_wsdl is working correctly when I load it in the web browser. There is no error in the apache log in the webwork server. It seems like the connexion doesn't established between the decclic ip adresse (132.219.150.68) and the webwork server. What is odd, it that the moodle server from Cégep de Maisonneuve is connecting to the webwork server without problem. It looks like there is an error only with the decclic ip address.

Here is part of the access.log from the webwork server :

webwork.ccdmd.qc.ca 443 76.70.53.194 - - [29/May/2020:15:33:00 -0400] "GET /webwork2//Calcul_differentiel_Rosemont_JNR/Tutoriel_WeBWorK/?effectiveUser=1578470&user=1578470&key=5bdprSqjBB0HmJHyA4y8O81xh1IL64Vm HTTP/1.1" 200 11352 "https://crosemont.moodle.decclic.qc.ca/mod/wwassignment/view.php?id=207936&forceview=1" "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Mobile/15E148 Safari/604.1"
webwork.ccdmd.qc.ca 443 70.24.237.211 - - [29/May/2020:16:27:58 -0400] "GET /webwork2/JR_MCharest_cstj/Mise_a_niveau_final/?effectiveUser=1873486&user=1873486&key=R983Inwxehtsj6M6OHJ0d0mYDpR6uYOI HTTP/1.1" 200 10616 "https://cstj.moodle.decclic.qc.ca/mod/wwassignment/view.php?id=92805" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
webwork.ccdmd.qc.ca 443 50.100.167.126 - - [31/May/2020:21:48:54 -0400] "GET /webwork2/LG_WLoriston_201-NYA_H_2020/Test1/?effectiveUser=201974967&user=201974967&key=85YTlU9fG7wdxxWKM2htauPs09qiK4UF HTTP/1.1" 200 11295 "https://clg.moodle.decclic.qc.ca/mod/wwassignment/view.php?id=202475" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
webwork.ccdmd.qc.ca 443 76.68.180.109 - - [01/Jun/2020:12:06:36 -0400] "GET /webwork2/CM_adomocos/NYB_Devoir_1/?effectiveUser=e1841003&user=e1841003&key=LLnkl3RQF59sgMheoMGwwdydeViuQSRo HTTP/1.1" 200 11418 "https://moodle.cmaisonneuve.qc.ca/cours/mod/wwassignment/view.php?id=155895" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36"
webwork.ccdmd.qc.ca 443 74.58.229.61 - - [04/Jun/2020:18:16:52 -0400] "GET /webwork2/MA_JDjossou_Maisonneuve/Algebre_-_Devoir_C3/?effectiveUser=e1767293&user=e1767293&key=MRul2AKbKxzIEV8I3JZRjRwu5U7ks3FX HTTP/1.1" 200 11456 "https://moodle.cmaisonneuve.qc.ca/cours/mod/wwassignment/view.php?id=152773" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
webwork.ccdmd.qc.ca 443 74.58.229.61 - - [05/Jun/2020:18:25:56 -0400] "GET /webwork2/MA_JDjossou_Maisonneuve/Algebre_-_Devoir_C3/?effectiveUser=e1767293&user=e1767293&key=bhSbusIslUqTi8fFj9CgL0HxnE1vMFWF HTTP/1.1" 200 11457 "https://moodle.cmaisonneuve.qc.ca/cours/mod/wwassignment/view.php?id=152773" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36"

And here is the corresponding POST request from these access :


webwork.ccdmd.qc.ca 443 132.219.150.68 - - [29/May/2020:15:32:30 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7758 "-" "PHP-SOAP/7.0.33-1~dotdeb+8.1"
webwork.ccdmd.qc.ca 443 132.219.150.68 - - [29/May/2020:16:27:56 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7754 "-" "PHP-SOAP/7.0.33-1~dotdeb+8.1"
webwork.ccdmd.qc.ca 443 132.219.150.75 - - [31/May/2020:21:48:53 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7754 "-" "PHP-SOAP/7.3.14-1~deb10u1"
webwork.ccdmd.qc.ca 443 206.167.40.140 - - [01/Jun/2020:12:06:36 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7755 "-" "PHP-SOAP/7.0.33-0+deb9u7"
webwork.ccdmd.qc.ca 443 206.167.40.140 - - [04/Jun/2020:18:16:52 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7757 "-" "PHP-SOAP/7.0.33-0+deb9u7"
webwork.ccdmd.qc.ca 443 206.167.40.140 - - [05/Jun/2020:18:25:56 -0400] "POST /webwork2_rpc HTTP/1.1" 200 7757 "-" "PHP-SOAP/7.0.33-0+deb9u7"


To help you understand, both the ip address 132.219.150.68 and 132.219.150.75 are from moodle.decclic.qc.ca, and I think it's the one that have problem connecting to the webwork ccdmd server from their moodle page. The last connexion I have from 132.219.150.68 is on May 29th. But the i can still see some connexion from 132.219.150.75  in the access log as of today. They are not coming from wwassignment though.

The ip address 206.167.40.140 is from sv17.cmaisonneuve.qc.ca and the have been no problem with their moodle so far.

I really don't know what the problem is. I don't know if it's coming from the webwork server or the moodle decclic server. It looks like those two doesn't know how to communicate using the wwassignment plugin and the Soap module.

Do you have admin access to the moodle server?

In reply to Julie Tremblay

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Michael Gage -

Julie,

Which version of Moodle are you using?  Is Cégep de Maisonneuve using a different version?   If you can find out which version of Soap-lite is running on each of the servers involved that will be helpful also.

-- Mike

In reply to Michael Gage

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Julie Tremblay -
I think we found the problem. It's not a Soap-lite error but an ssl certificate error. If you click on the this link : https://www.sslshopper.com/ssl-checker.html#hostname=https://webwork.ccdmd.qc.ca/webwork2, You'll see that our webwork url has some errors regarding one root ou intermediate certificate.

One of the root or intermediate certificates has expired (11 days ago).
The ones administrating the server did an update on an SSL certificate a few days ago. Also, I found on the internet there was one global problem that happened at the end of may, exacly around the time the error on our server happened. See the article below :
https://nakedsecurity.sophos.com/2020/06/02/the-mystery-of-the-expiring-sectigo-web-certificate/

The problem is the expired AddTrust External CA Root certificate. We could just delete it, but I think we have to update the OpenSSL module on our server. The version is 1.0.1f, and they say it need to be version 1.0.2 for it to work with the TLS 1.2 protocol. What do you think? Is there another module that should be upgraded? I have difficulties understanding all that stuff, that's why I need your insight.

The server is on Ubuntu 14.04!

Thank you!
In reply to Julie Tremblay

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Michael Gage -

I would say upgrade the OpenSSL module.  I don't think webwork will have trouble working with the newer module, and if it does we'll fix that.  I don't know about other modules that need to be upgraded, but I have found problems before where the perl modules for SOAP-Lite were mismatched on the webwork and the moodle server. I've been trying to keep those two modules up to date.  I've read on the web that there are newer perl modules that handle SOAP and XMLRPC transport better but I haven't had time to research them and replace SOAP-Lite with newer transport.

Let us know how updating the OpenSSL  module works out.

- Mike


In reply to Michael Gage

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Kane Jean -
Thank to @Michael Gage and @Julie Tremblay Everything works now

The "certificate chain" file which expired on May 30th on the webwork server, so you have to generate it again and replace it on the web server:

1) Go to the site https://whatsmychaincert.com/
2) Enter the domain name of the site to perform the test
3) The message explains displays:
campus-webwork.cegepadistance.ca has a trusted chain containing an expired certificate. This chain will work with modern web browsers (they will use a chain to a different trusted root) but may fail with older clients, notably OpenSSL 1.0.x. Download a chain without the expired certificate

4) You must click on the Download link to download the file "certificate chain" and rename it as on the webwork server (star_cegepadistance_ca.ca-bundle.crt) and replace on the server /etc/ssl/certs/star_cegepadistance_ca.ca- bundle.crt

5) Restart the web server with the service apache2 restart command.

6) To perform the test to go to the https://whatsmychaincert.com site, normally there will no longer be a 'trusted chain containing an expired certificate' error message.

the webwork plugin is functional now on campus. I will also replace the star_xxxxxxxxxx_ca.ca-bundle.crt file on all the other servers.
In reply to Kane Jean

Re: Exception : Call to undefined method SoapFault::__soapCall()

by Julie Tremblay -

That is such good news. I transfered your message to the ccdmd WeBWorK administrator.  But, did you still upgrade the OpenSSL module? If so, to which version did you uograde?

Thank you so much for this instructions. It will help a lot.