Forums | Mahara Community
    
        
            Developers
         /
    
    
    web service client
26 March 2017, 10:09
Hello everyone
I am trying to consume a mahara web service from an external page but it throws me a postgres syntax error. Does anyone know where the problem may be? I have tested the service on the test client that has Mahara and works perfectly
This is the code I have written
-------------------------------------------------------------------------------------------------------------
Zend_Loader_Autoloader::autoload('Zend_Loader');
 
 $serverurl = 'https://localhost/mahara_otro/htdocs/webservice/rest/server.php';
 $token = '71a446ccf819b2208e66d447fd5ddd42';
  
 $params = array(
     'wsfunction' => 'mahara_user_get_online_users',   // the function to be called
     'wstoken' => $token, //token need to be passed in the url
 );
  
 $client = new Zend_Http_Client($serverurl);
 try {
     //$client->setParameterPost($params);
     $response = $client->request('POST');
     var_dump ($response->getBody());
 } catch (exception $exception) {
     var_dump ($exception);
 }
------------------------------------------------------------------------------------------------------------
And this is the result:
------------------------------------------------------------------------------------------------------------
string '<?xml version="1.0" encoding="UTF-8" ?>
<EXCEPTION class="SQLException">
<ERRORCODE>0</ERRORCODE>
<MESSAGE>Failed to get a recordset: postgres8 error: [-1: ERROR:  error de sintaxis en o cerca de «LIMIT»
LINE 1: SELECT * FROM "external_tokens"  WHERE "token" = ?  LIMIT 2
                                                            ^] in EXECUTE("SELECT * FROM "external_tokens"  WHERE "token" = ?  LIMIT 2")
Command was: SELECT * FROM "external_tokens&qu'... (length=569)
------------------------------------------------------------------------------------------------------------
Thanks in advance
27 March 2017, 10:21
Hi Osbel
I can replicate the error you are getting. We need to add a check to see if the token is supplied before trying to check that it is unique.
I've created a patch to deal with this: https://reviews.mahara.org/#/c/7565/
Where we check existence of $token and return normal error if missing
Please let me know if that fixes your problem
Cheers
Robert
27 March 2017, 14:28
Hello, Robert
I already added your patch and the error is precisely that the token is invalid or not supplied
Now I get the normal error message. "<MESSAGE>Access control exception : Invalid token selected or none supplied</MESSAGE>"
How can I know now if the token is invalid or not supplied?
I keep abreast
Osbel