Cannot eSign or annotate records in the new WebVision app in NuGenesis SDMS - WKB284911
SYMPTOMS
- The following error message appears when eSigning records in WebVision:
- Could not sign records. There as an error while processing the request.
- The following message appears when adding a note to records in WebVision:
- Could not add annotation. There was an error while processing the request.
- In the Web browser's Dev Tools, the request for "esignatures" returns HTTP error code 500
- The following error message appears in the log file for the SdmsProjects site:
- String 'DATE TIME' was not recognized as a valid DateTime.
- The "DATE TIME" placeholders represent a date-time stamp in the format MM/DD/YYYY HH24:MI:SS
ENVIRONMENT
- NuGenesis 9 SDMS
CAUSE
A non-English US date format was set on service accounts on the NuGenesis Web server or servers.
FIX or WORKAROUND
- On each NuGenesis Web server, open the Control Panel\Region app.
- Set the Format to English (United States).
- Set the Short Date format to M/d/yyyy.
- Set the Long Date format to MMMM d, yyyy.
- Click the Administrative tab.
- Click the Copy Settings button.
- Select the check box to copy the current settings to the Welcome screen and service accounts.
- The window now shows "English (United States)" as the format for the Welcome screen.
- Restart the server for the change to go into effect.
- After the restart, you can change to the desired format, but do NOT copy the format settings to the service accounts.
ADDITIONAL INFORMATION
The problem is due to the date format as sent by the Oracle database when WebVision requests the current date and time for the eSignature record. NuGenesis databases use the English US date format and thus always return date/time stamps in the format of MM/DD/YYYY HH24:MI:SS. The WebVision app, which runs in the context of the IUSR service account, needs to use the same date format in order to parse the date stamp as received from the database.
If the OS region is set to English (United States) but the long and short dates are set to formats other than the defaults, the server date/time stamp on the annotation will have its day and month numbers transposed. If the current date is between the 13th of the month and the end of the month, the operation will fail, because the date format will appear as YYYY-DD-MM but will be interpreted by .NET as YYYY-MM-DD. If the current date is between the 1st and 12th days of the month, the operation will succeed, but the Server Date/Time recorded will appear as "YYYY-DD-MM".
