This article covers common problems with the WATS Client Service and custom converters, and how to resolve them.
Log file locations
The WATS Client Service writes diagnostic logs to:
%ProgramData%\Virinco\WATS\Logs\
Key log files:
WATSClient.log— service startup, converter loading, and submission resultsConverter_*.log— per-converter logs (one file per converter)Error\*.log— files that failed to convert (original file + error details)
Converter not appearing in WATS Client
| Symptom | Cause | Fix |
|---|---|---|
| Converter missing from the converter list | Service not restarted after editing converters.xml | Restart the WATS Client Service |
| Error on startup: "Could not load type" | Wrong class name in converters.xml, or DLL missing | Verify class attribute matches the fully-qualified class name; verify DLL is in %ProgramData%\Virinco\WATS\Converters\ |
| Error on startup: "Assembly not found" | DLL not in the Converters folder | Copy DLL to %ProgramData%\Virinco\WATS\Converters\ |
| Error: XML parse error | Invalid XML in converters.xml | Open converters.xml in a browser — it will highlight the XML error |
Files not being picked up
| Symptom | Cause | Fix |
|---|---|---|
| Files stay in upload folder | Wrong FileFilter |
Check the extension matches exactly (e.g. *.CSV won't match file.csv on case-sensitive systems — use lowercase) |
| Files stay in upload folder | Wrong UploadFolder path |
Verify the path in converters.xml matches the actual folder; check for trailing backslash |
| Files stay in upload folder | WATS Client Service not running | Open services.msc and check that WATS Client is Started |
| Some files picked up, some not | File still being written (locked by another process) | The WATS Client retries locked files — wait a few seconds; if persistent, ensure the writing process closes the file before WATS picks it up |
Files move to the Error folder
When a converter throws an exception, WATS Client moves the file to the Error\ subfolder of the upload folder (or the folder configured in converters.xml). The error details are written to the log.
Common causes:
- Parse error — the file format doesn't match what the converter expects. Check the log for the exception message and the line in your converter code that threw it.
- Missing required field — serial number, part number, or operation type is missing or empty. Add better error messages to your converter.
- Operation type not found — the operation type name/code in the file doesn't match any process configured in WATS → Control Panel → Processes.
- Server unreachable — the WATS Client cannot connect to the WATS server. Check network connectivity and the WATS Client server URL setting.
Converter shows error status (red) in WATS Client
| Error | Cause | Fix |
|---|---|---|
FileNotFoundException on startup |
DLL dependency missing | Check that all dependency DLLs are in the Converters folder; ensure PrivateAssets=all is NOT set on runtime dependencies |
TypeLoadException / method not found |
DLL built against wrong WATS API version | Rebuild the converter against the correct Virinco.WATS.ClientAPI version |
| Authentication error | WATS Client not registered to server | Open WATS Client → Settings and verify server URL and credentials |
Test results look wrong in WATS
| Symptom | Likely cause | Fix |
|---|---|---|
| Wrong operation type / process | operationType parameter doesn't match a WATS process | Check WATS → Control Panel → Processes; update the parameter value |
| Time zone is wrong | Using StartDateTime with a local time treated as UTC |
Use uut.StartDateTimeUTC = DateTime.UtcNow or parse the source time as UTC |
| ExecutionTime shows 0 | Not setting uut.ExecutionTime, or setting it in milliseconds |
ExecutionTime is in seconds (double). If your source gives milliseconds, divide by 1000. |
| Steps missing or wrong status | TestMode not set correctly | For converters that set step status from the source file, use api.TestMode = TestModeType.Import to prevent WATS from re-evaluating limits |
| Limits not evaluated | Using Import mode when Active mode is needed | Use api.TestMode = TestModeType.Active when you provide raw measurements and want WATS to evaluate pass/fail |
Restarting the WATS Client Service
After any change to converters.xml or converter DLLs, restart the service:
net stop "WATS Client Service"
net start "WATS Client Service"
Or use Windows Services (services.msc): right-click WATS Client → Restart.
Still stuck?
Contact support@wats.com with:
- WATS Client version (Help → About)
- The relevant section from
WATSClient.log - A sample file from the Error folder (if applicable)
- The
<converter>entry from yourconverters.xml(remove the password from the connection string before sending)
Comments
0 comments
Please sign in to leave a comment.