web-dicom configuration issues behind IIS

Dear All,

I have a working Orthanc setup running on dicom.mydomain.com where everything has been working great for past three years, including loading of images with OHIF v2.

I am trying to upgrade to OHIF v3. The first GET works OK (200), the following ones get an error of 404.

I have copied the Dicom-Web configuration below. Any help would greatly appreciated.

Current Orthanc is 1.11.2.

“DicomWeb” : {
“Enable” : true, // Whether DICOMweb support is enabled
“Root” : “/dicom-web/”, // Root URI of the DICOMweb API (for QIDO-RS, STOW-RS and WADO-RS)
“EnableWado” : true, // Whether WADO-URI (aka. WADO) support is enabled
“WadoRoot” : “/wado”, // Root URI of the WADO-URI (aka. WADO) API
“Host” : “https://dicom.mydomain.com/orthanc/dicom-web/studies”, // tried → “”, “orthanc/dicom-web” Hard-codes the name of the host for subsequent WADO-RS requests
“PublicRoot” : “”, // tried → “”, “/orthanc/dicom-web/studies”, “https://dicom.mydomain.com/orthanc/dicom-web/”,
“Ssl” : false, // Whether HTTPS should be used for subsequent WADO-RS requests
“StudiesMetadata” : “MainDicomTags”, // How study-level metadata is retrieved (since release 1.1, cf. section below)
“SeriesMetadata” : “MainDicomTags” // How series-level metadata is retrieved (since release 1.1, cf. section below)

}

IIS log

2022-12-25 23:45:42 x.x.1.5 GET /orthanc/dicom-web/studies/1.3.46.670589.11.8540.5.0.6072.2022121910434125000/series X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=55fc9367-f48e-4ded-87b7-0fed9113a2c5&SERVER-STATUS=200 443 abc@gmail.com x.x.x.190 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/108.0.0.0+Safari/537.36 https://dicom.mydomain.com/viewer/?StudyInstanceUIDs=1.3.46.670589.11.8540.5.0.6072.2022121910434125000 200 0 0 125

2022-12-25 23:45:42 10.254.1.5 GET /orthanc/dicom-web/studies limit=101&offset=0&fuzzymatching=false&includefield=00081030%2C00080060&StudyInstanceUID=1.3.46.670589.11.8540.5.0.6072.2022121910434125000&X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=6082a4bf-06c8-466e-b387-24cc1abb9a48 443 abc@gmail.com x.x.x.190 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/108.0.0.0+Safari/537.36 https://dicom.mydomain.com/viewer/?StudyInstanceUIDs=1.3.46.670589.11.8540.5.0.6072.2022121910434125000 404 0 0 78

Many thanks!

Hi,

If you check the Orthanc logs in verbose mode, you should see what URL is being called and return the 404. It should help you understand what’s wrong in your configuration (be it the IIS config or the DicomWeb plugin config).

HTH,

Alain

probably best for the OHIF community forum, but here’s a working OHIF config file for OHIF v3-stable

window.config = {
routerBasename: ‘/’,
extensions: [],
modes: [],
showStudyList: true,
maxNumberOfWebWorkers: 4,
showLoadingIndicator: true,
dataSources: [
{
friendlyName: ‘Orthanc Server’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomweb’,
sourceName: ‘dicomweb’,
configuration: {
name: ‘Orthanc’,
wadoUriRoot: ‘[external Orthanc URL]/wado’,
qidoRoot: ’ [external Orthanc URL]/dicom-web’,
wadoRoot: ’ [external Orthanc URL]/dicom-web’,
qidoSupportsIncludeField: false,
supportsReject: false,
imageRendering: ‘wadouri’,
thumbnailRendering: ‘wadouri’,
enableStudyLazyLoad: true,
supportsFuzzyMatching: false,
supportsWildcard: true,
staticWado: true,
singlepart: ‘bulkdata,video,pdf’,
},
},
{
friendlyName: ‘dicom json’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomjson’,
sourceName: ‘dicomjson’,
configuration: {
name: ‘json’,
},
},
{
friendlyName: ‘dicom local’,
namespace: ‘@ohif/extension-default.dataSourcesModule.dicomlocal’,
sourceName: ‘dicomlocal’,
configuration: {},
},
],
httpErrorHandler: error => {
// This is 429 when rejected from the public idc sandbox too often.
console.warn(error.status);

// Could use services manager here to bring up a dialog/modal if needed.
console.warn(‘test, navigate to https://ohif.org/');
},
defaultDataSourceName: ‘dicomweb’,
hotkeys: [
{
commandName: ‘incrementActiveViewport’,
label: ‘Next Viewport’,
keys: [‘right’],
},
{
commandName: ‘decrementActiveViewport’,
label: ‘Previous Viewport’,
keys: [‘left’],
},
{ commandName: ‘rotateViewportCW’, label: ‘Rotate Right’, keys: [‘r’] },
{ commandName: ‘rotateViewportCCW’, label: ‘Rotate Left’, keys: [‘l’] },
{ commandName: ‘invertViewport’, label: ‘Invert’, keys: [‘i’] },
{
commandName: ‘flipViewportHorizontal’,
label: ‘Flip Horizontally’,
keys: [‘h’],
},
{
commandName: ‘flipViewportVertical’,
label: ‘Flip Vertically’,
keys: [‘v’],
},
{ commandName: ‘scaleUpViewport’, label: ‘Zoom In’, keys: [’+‘] },
{ commandName: ‘scaleDownViewport’, label: ‘Zoom Out’, keys: [’-‘] },
{ commandName: ‘fitViewportToWindow’, label: ‘Zoom to Fit’, keys: [’='] },
{ commandName: ‘resetViewport’, label: ‘Reset’, keys: [‘space’] },
{ commandName: ‘nextImage’, label: ‘Next Image’, keys: [‘down’] },
{ commandName: ‘previousImage’, label: ‘Previous Image’, keys: [‘up’] },
{
commandName: ‘previousViewportDisplaySet’,
label: ‘Previous Series’,
keys: [‘pagedown’],
},
{
commandName: ‘nextViewportDisplaySet’,
label: ‘Next Series’,
keys: [‘pageup’],
},
{
commandName: ‘setToolActive’,
commandOptions: { toolName: ‘Zoom’ },
label: ‘Zoom’,
keys: [‘z’],
},
// ~ Window level presets
{
commandName: ‘windowLevelPreset1’,
label: ‘W/L Preset 1’,
keys: [‘1’],
},
{
commandName: ‘windowLevelPreset2’,
label: ‘W/L Preset 2’,
keys: [‘2’],
},
{
commandName: ‘windowLevelPreset3’,
label: ‘W/L Preset 3’,
keys: [‘3’],
},
{
commandName: ‘windowLevelPreset4’,
label: ‘W/L Preset 4’,
keys: [‘4’],
},
{
commandName: ‘windowLevelPreset5’,
label: ‘W/L Preset 5’,
keys: [‘5’],
},
{
commandName: ‘windowLevelPreset6’,
label: ‘W/L Preset 6’,
keys: [‘6’],
},
{
commandName: ‘windowLevelPreset7’,
label: ‘W/L Preset 7’,
keys: [‘7’],
},
{
commandName: ‘windowLevelPreset8’,
label: ‘W/L Preset 8’,
keys: [‘8’],
},
{
commandName: ‘windowLevelPreset9’,
label: ‘W/L Preset 9’,
keys: [‘9’],
},
],
};