Answer
Validate the actual TNS entry with a real tnsping <alias> test, not just by confirming it works through a GUI tool like SQL Developer — a malformed or incorrectly structured TNS entry can still work fine through SQL Developer's own connection handling while failing for CWS, and tnsping is a more reliable way to catch a genuinely broken TNS configuration than testing exclusively through a database IDE. Fixing the TNS entry's structure to pass a plain tnsping test resolved this exact HTTP 500 / 'failed to load database information' combination in practice.