$app->response->setStatusCode(401, "Bad Request")->send();
        echo json_encode(array("error" => $e->getMessage()));
        echo $e->getMessage();
        $logger->log($client->__getLastRequestHeaders());
        $logger->log($client->__getLastRequest());
        $logger->log($client->__getLastResponse());
    }
});
/**
 * Funcion que regresa una lista de URLs de productos para un usuario determinado.
 */
$app->get('/library_service/get_download_urls/{product_id}/{user_id}', function ($product_id, $user_id) use($app, $logger) {
    $options = array('trace' => 1, 'location' => LIBRARY_SERVICE_ENPOINT, 'stream_context' => stream_context_create(array('http' => array('header' => "Partner: " . PARTNER . "\r\n" . "APIKey: " . APIKEY . ""))));
    $client = new SoapClient(LIBRARY_SERVICE, $options);
    try {
        $response = $client->GetDownloadUrls(array('request' => array("ProductId" => $product_id, "UserId" => $user_id)));
        $json = json_encode($response->GetDownloadUrlsResult);
        //set content type
        $app->response->setContentType('application/json', 'UTF-8');
        //echo response
        echo $json;
        $logger->log($client->__getLastRequest());
        $logger->log($client->__getLastResponse());
    } catch (SoapFault $e) {
        $app->response->setStatusCode(401, "Bad Request")->send();
        echo json_encode(array("error" => $e->getMessage()));
        echo $e->getMessage();
        $logger->log($client->__getLastRequestHeaders());
        $logger->log($client->__getLastRequest());
        $logger->log($client->__getLastResponse());
    }