No uses copy() .. usa move_upload_file() .. eso evitará algunos problemas referente a permisos de acceso al directorio temporal donde PHP sube los archivos (al que configuras en upload_tmp_dir de tu php.ini de tu servidor).
 
Luego .. revisa los permisos de acceso de la ruta:
/apache/htdocs/dwh/servicios/publica/ 
Y usa rutas absolutas .. Si usas windows .. usa c:/etc o lo que corresponda como ruta . .en su defecto usa algo tipo publica/ o donde cuelgue tu archivo (si es que está bajo tu .php que ejecuta este código ..) 
Tambien puedes hacer para verificar que es lo que realmente contiene $_FILES: 
 Código PHP:
    echo "<pre>";
print_r($_FILES);
echo "</pre>"; 
    
  También prueba con archivos pequelos (unos pocos Kbytes) .. por si tienes problemas de otro tipo como de tamaño del archivo y similares. 
Un saludo,