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...