Hi @pstevens
I tried both the solutions. Kindly check and let me know if I am missing anything-
For # 10091 - I made the below changes in order to fix this bug-
In service/core/REST/SugarRestJSON.php
in service/v4/SugarWebServiceImplv4.php
In below code-
$url = "{site_url}/service/v4_1/rest.php";
function call($method, $parameters, $url)
{
ob_start();
$curl_request = curl_init();
curl_setopt($curl_request, CURLOPT_URL, $url);
curl_setopt($curl_request, CURLOPT_POST, 1);
curl_setopt($curl_request, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl_request, CURLOPT_HEADER, 1);
curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl_request, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_request, CURLOPT_FOLLOWLOCATION, 0);
$jsonEncodedData = json_encode($parameters);
$post = array(
"method" => $method,
"input_type" => "JSON",
"response_type" => "JSON",
"rest_data" => $jsonEncodedData
);
curl_setopt($curl_request, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($curl_request);
curl_close($curl_request);
$result = explode("\r\n\r\n", $result, 2);
$response = json_decode($result[1]);
ob_end_flush();
return $response;
}
//login -----------------------------------------
$login_parameters = array(
"user_auth" => array(
"user_name" => 'xxxxx',
"password" => md5('xxxxx') ,
"version" => "1"
) ,
"application_name" => "RestTest",
"name_value_list" => array() ,
);
$login_result = call("login", $login_parameters, $url);
echo $session_id = $login_result->id;
I tried both but none is able to fetch the session ID.
“application_name” => “RestTest”, and “application” => “RestTest”,
Solution 2 -
In service/core/REST/SugarRestJSON.php file
I replaced this line $res = call_user_func_array(array( $this->implementation, $method),$data); to $res = $this->implementation->{$method}(…array_values($data)); but getting same error.
Kindly assist if I am missing anything.
Thanks