org.nrg.xft.exception.InvalidValueException: URI references data outside of the project

26 views
Skip to first unread message

Tom Doel

unread,
Jul 7, 2016, 12:31:41 PM7/7/16
to xnat_discussion
I'm making the following REST call to populate the catalog with scan types etc based on the existing DICOM data:

  PUT https://<myserver>/data/archive/projects/<projectname>/subjects/<subject>/experiments/<experiment>?pullDataFromHeaders=true

On our production server this fails with the following exception (restless.log):

2016-07-07 10:39:04,634 [http-bio-8080-exec-2023] ERROR org.nrg.xnat.restlet.resources.SubjAssessmentAbst -
org.nrg.xft.exception.InvalidValueException: URI references data outside of the project:/xxxxxx/data/xxx/archive/xxx/arc001/xxx/SCANS/xxx/DICOM/scan_1_catalog.xml
 at org
.nrg.xft.utils.FileUtils.ValidateUriAgainstRoot(FileUtils.java:1093)
 at org
.nrg.xft.utils.FileUtils.ValidateUriAgainstRoot(FileUtils.java:1067)
 at org
.nrg.xdat.om.base.BaseXnatImagescandata.validate(BaseXnatImagescandata.java:515)
 at org
.nrg.xdat.om.base.BaseXnatImagesessiondata.preSave(BaseXnatImagesessiondata.java:3362)
 at org
.nrg.xft.utils.SaveItemHelper.save(SaveItemHelper.java:64)
 at org
.nrg.xft.utils.SaveItemHelper.authorizedSave(SaveItemHelper.java:421)
 at org
.nrg.xnat.restlet.actions.PullSessionDataFromHeaders.call(PullSessionDataFromHeaders.java:198)
 at org
.nrg.xnat.restlet.resources.SubjAssessmentResource.handlePut(SubjAssessmentResource.java:837)

But it works on our test server. The main difference between the servers is that the production server uses the apache proxy to handle the https.

Possible related issue?

But I don't know why the proxy would make a difference to this REST call when other calls seem to work...

Reply all
Reply to author
Forward
0 new messages