Hi montexristos, The problem that you are having is the stars (*) that you are adding in the the UUID on the report GET request. So change the line: $uri = $url.'*'.$uuid.'*'; to: $uri = $url . $uuid ; And it should work fine. The problem comes from a typo in the Web Services Guide. Around Page 39, where it says " http://<host>:<port>/jasperserver[-pro]/rest/report/*d7bf6c9-9077-41f7-a2d4-8682e74b637e*" the "*" at the beginning and end of the UUID are not needed (if you add them you receive an error), so ignore those and you should be fine. Also, there is a nice PHP class that uses cURL and provides a wrapper for RESTful services called PEST, that will help you. Check it out here, http://github.com/educoder/pest. It is very useful, below is a an example on using this class to do the requests, as you can see is very clean and also it will give you the request body in a smpleXML object. Best, Mariano Code:<?phprequire_once 'PEST/PestXML.php';$JSRest = new Pest(http://localhost:8080/jasperserver/rest/);$JSRest->curl_opts[CURLOPT_HEADER] = true;$restData = array( 'j_username' => $_POST['username'], 'j_password' => $_POST['password']); try { $body = $JSRest->post('login', $restData); $response = $JSRest->last_response; if ($response['meta']['http_code'] == '200') { // Respose code 200 -> All OK // Extract the Cookie and save the string in my session for further requests. preg_match('/^Set-Cookie: (.*?)$/sm', $body, $cookie); $_SESSION["JSCookie"] = '$Version=0; ' . str_replace('Path', '$Path', $cookie[1]); // Now just go header("location: home.php"); exit(); } else { $errorMessage = "Unauthorized HTTP Code: " . $response['meta']['http_code']; }} catch (Exception $e) { $errorMessage = "Unauthorized Exception: " . $e->getMessage() . "<br>"; }?>