Configuring the HttpExportService for Connection to XNAT Servers
This article describes how to configure the CTP HttpExportService pipeline stage for efficient export to an XNAT server. The intended audience for this article is CTP administrators.
The HttpExportService configuration element has two child elements intended to invoke special features in coordination with an XNAT server. The Launcher application's Configuration tab allows the administrator to add these children and provides guidance in defining their attributes.
The xnat child element makes authentication of the transfers from the HttpExportService to the XNAT server more efficient. The element has these attributes:
<xnat url="https://host:port/data/JSESSION" cookieName="JSESSIONID" password="" username=""/>
- url specifies the URL of the XNAT server's authentication service.
- cookieName specifies the cookie name in the set-cookie header returned by the XNAT server after a successful authentication.
- username specifies the username on the XNAT server for authentication.
- password specifies the password on the XNAT server for authentication.
When this element is present, the HttpExportService authenticates on the first transfer, obtains the session cookie, and passes that cookie back to the server on all subsequent transfers. The effect is to reduce the authentication load on the server dramatically and to reduce the number of parallel threads required to handle large transfers.
The compressor child element makes the actual file transfers themselves more efficient. The element has these attributes:
<compressor cacheSize="0" structure="dir1/dir2/dir3/..." defaultString="UNKNOWN" whitespaceReplacement="_"/>
- cacheSize specifies the maximum number of files to combine into a single zip file for transmission to the XNAT server.
- structure specifies the dynamically constructed structure of the zip file. This attribute is used in the same way as the structure attribute of the DirectoryStorageService.
- defaultString specifies the text to be used when a DICOM element specified in the structure attribute is missing from a file to be transferred.
- whitespaceReplacement specifies the text to be used to replace sequences of whitespace characters in the directory path and filename constructed from the structure attribute.
When this element present and cacheSize is greater than zero, the compressor attempts to group as many files as are available (up to cacheSize) into a single zip file and initiates a single transfer. The compressor never waits for more files if fewer than cacheSize files are available; it just sends all that it has. The XNAT server automatically de-compresses the zip file and stores the content files.