[opencms-dev] Access denied on writeFile() - prior solutions ineffective
Kenny MacLeod
kenny.mcleod at kizoom.com
Tue Apr 20 19:51:01 CEST 2004
Sir, you are a gentlemen, and a scholar. That worked beautifully.
Thanks muchly.
-----Original Message-----
From: M Butcher [mailto:mbutcher at grcomputing.net]
Sent: 20 April 2004 17:41
To: opencms-dev at opencms.org
Subject: Re: [opencms-dev] Access denied on writeFile() - prior solutions
ineffective
I recently had a similar problem. Rather than resolve it, I switched to
the other createResource() method:
newFile = cms.createResource( "/outdir/",
"myFile.txt",
"plain",
new Hashtable(),
contentsByteArray );
Matt
Kenny MacLeod wrote:
> Hi folks,
>
> I found this same problem detailed in two previous posts to this list, but
> the suggested solutions do not work (nor did they work for the original
> posters).
>
> The problem concerns Access Denied exceptions being thrown by the
> writeFile() method of the CmsObject class. An example code fragment
(where
> "cms" is the CmsObject) would be:
>
> cms.getRequestContext().setCurrentProject(4);
> CmsFile cmsFile = (CmsFile) cms.createResource(folderPath, fileName,
> "plain");
> cmsFile.setContents(fileData);
> cms.writeFile(cmsFile);
>
> The final line throws the following exception:
>
> [exec] com.opencms.core.CmsException: 1 Access denied. Detailed error:
> [com.opencms.file.mySql.CmsResourceBroker] /test/file.txt
> [exec] at
>
com.opencms.file.genericSql.CmsResourceBroker.writeFile(CmsResourceBroker.ja
> va:7475)
> [exec] at
com.opencms.file.CmsObject.writeFile(CmsObject.java:3863)
>
>
> As you can see, I can create the CmsResource OK - if I go to the OpenCMS
> explorer at this point, and select the Offline project, I can see the file
> there, marked as locked, as expected. But writeFile() still throws that
> exception.
>
> The previous suggested solution was to incorporate the call to
> setCurrentProject(), but as you can see, that's what I've done, and it
> doesn't fix the problem. If setCurrentProject() is removed, then the code
> fails during createResource() instead, which is what I would expect.
>
> So, my question is, what other changes do I have to make to the code to
> allow writeFile() to succeed? I notice from the source of the
> com.opencms.workplace.CmsEditor class that writeFile() is used
successfully.
> So what's the secret?
>
> Regards,
>
>
> Kenny
>
> _______________________________________________
> This mail is send to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://mail.opencms.org/mailman/listinfo/opencms-dev
_______________________________________________
This mail is send to you from the opencms-dev mailing list
To change your list options, or to unsubscribe from the list, please visit
http://mail.opencms.org/mailman/listinfo/opencms-dev
More information about the opencms-dev
mailing list