Troubleshooting
Common problems connecting Mirth to Synura and how to fix them.
For any issue, start by running the diagnostic bundle. It collects what Synura support needs if you need to escalate.
Linux / macOS:
./scripts/diagnostic-bundle.shWindows (PowerShell):
.\scripts\diagnostic-bundle.ps1Connection Refused on localhost:2575
Section titled “Connection Refused on localhost:2575”Symptom: Mirth shows an ERROR status with a “Connection refused” message when sending to localhost:2575.
Cause: stunnel is not running, or it is not configured to listen on port 2575.
Fix:
-
Check if stunnel is running:
Terminal window # Linuxsystemctl status stunnel# orps aux | grep stunnel# Windows (PowerShell)Get-Service stunnel -
If stunnel is stopped, start it:
Terminal window # Linuxsudo systemctl start stunnel# Windows (PowerShell)Start-Service stunnel -
If stunnel is not installed, run the setup script again. See Connection Guide, Path B.
-
Verify the listener is active:
Terminal window netstat -tlnp | grep 2575
Next: test-network to confirm the underlying connection to Synura is reachable once stunnel is running.
TLS Handshake Failed
Section titled “TLS Handshake Failed”Symptom: TLS or SSL handshake error. In stunnel logs: SSL_connect failed. With a commercial TLS plugin: SSLHandshakeException.
Cause: One of:
- Java truststore missing the required CA certificates.
- TLS 1.2 not enabled (older Java versions default to TLS 1.0/1.1).
- SNI not sent correctly (common with enterprise proxies).
Fix:
-
Run the diagnostic bundle to capture TLS negotiation details:
Terminal window ./scripts/diagnostic-bundle.sh -
Check the Java version on the Mirth server. Synura requires TLS 1.2 as a minimum. Java 8u161+ supports TLS 1.2 by default. Earlier versions may need JVM flags:
-Dhttps.protocols=TLSv1.2 -
If using stunnel, check the stunnel configuration file to confirm
TLSv1.2is specified. -
If using a commercial TLS plugin (SSL Manager or Zen SSL), ensure the CA certificate is in the Java truststore. Run the keytool import script:
Terminal window # Linux./scripts/keytool-import-linux.sh# Windowsscripts\keytool-import-windows.bat -
If using an enterprise proxy, confirm with your IT team that SNI is set to
{subdomain}.synura.io. Without SNI, Synura will reject the TLS connection.
Next: diagnostic-bundle to capture the full TLS handshake output for Synura support.
Connection Timeout
Section titled “Connection Timeout”Symptom: Connection hangs and eventually times out. The test-network script also times out.
Cause: A firewall or network policy is blocking outbound TCP 443 to synura.io.
Fix:
-
Run the network test script to confirm:
Terminal window ./scripts/test-network.sh {subdomain}.synura.io -
If the test times out, the issue is between your Mirth server and the internet. Common blockers:
- Corporate firewall blocking outbound 443.
- HTTP proxy intercepting HTTPS (MLLPS is not HTTP and cannot pass through a standard HTTP proxy).
- Network segmentation placing the Mirth server in a restricted VLAN.
-
Ask your network team to allow outbound TCP 443 from the Mirth server to
synura.io. The diagnostic bundle output contains IP addresses if they need to allowlist by IP. -
If all traffic goes through an HTTP proxy, the MLLPS traffic must be allowed to pass directly or through a TCP-level proxy (SOCKS or transparent TCP proxy).
Next: test-network to confirm connectivity after the firewall change.
Message Sent but No AA Response
Section titled “Message Sent but No AA Response”Symptom: Message shows as SENT but no ACK is received, or the response times out.
Cause: One of:
- Response timeout in Mirth is too short for the message size or network latency.
- Sending facility in MSH-4 does not match what is configured in Synura, so routing fails.
Fix:
-
Increase the Response Timeout on the TCP Sender destination in Mirth:
- Open the channel, go to the Destination tab.
- Increase “Response Timeout (ms)” to 30000 (30 seconds) as a test.
- Save and redeploy.
-
Check the MSH-4 (Sending Facility) field in your HL7 message. This value must match the sending facility registered in your Synura configuration. Log into the Synura dashboard and verify under your organisation’s settings.
-
If the sending facility is correct and the timeout is generous, run the diagnostic bundle and contact Synura support. The issue may be on the routing side.
Next: diagnostic-bundle to capture message and connection details.
InvalidChannel on Import (Mirth 3.8.1)
Section titled “InvalidChannel on Import (Mirth 3.8.1)”Symptom: Importing a channel XML file fails with InvalidChannel, XStream or a deserialization exception.
Cause: Mirth 3.8.1 has a known XStream bug that breaks channel imports. The channel file is fine. The deserializer is not.
Fix:
- Do not import channel XML on Mirth 3.8.1. Create the channel manually through the GUI instead.
- Follow the step-by-step instructions in Mirth Channel Setup. The manual setup takes only a few minutes.
If you are on Mirth 3.9+ or 4.x, channel import works correctly and you can use it if preferred.
stunnel Will Not Install
Section titled “stunnel Will Not Install”Symptom: Setup script fails due to insufficient permissions, or the package manager cannot install stunnel.
Cause: stunnel requires administrator (root/sudo) access. Locked-down servers may not allow this.
Fix:
-
If you have access to an admin account, run the script with elevated privileges:
Terminal window sudo ./scripts/keytool-import-linux.sh -
If you cannot get admin access, use Path C: Enterprise TLS Proxy instead. Your infrastructure team can configure an existing TLS proxy (F5, HAProxy, nginx, etc.) to forward traffic to Synura. See Connection Guide, Path C, for the configuration details to provide to your IT team.
-
If neither option is available, contact Synura support. We can discuss alternative approaches for your environment.
javaws Not Found / Mirth Administrator Does Not Launch
Section titled “javaws Not Found / Mirth Administrator Does Not Launch”Symptom: The Mirth Administrator launcher does nothing, or you see an error about javaws not being found.
Cause: Mirth 3.x uses Java Web Start (javaws), which is only included in Oracle JDK 8. OpenJDK does not include it.
Fix:
-
Install Oracle JDK 8 (specifically, a version that includes
javaws). This is separate from whatever Java runtime Mirth Connect itself uses. -
Ensure
javawsis on your system PATH:Terminal window which javaws# Should return a path, e.g. /usr/bin/javaws -
On Windows, the Oracle JDK 8 installer typically registers
.jnlpfiles to open with Java Web Start automatically. If not, right-click the.jnlpfile, select “Open with”, and browse tojavaws.exein your JDK installation directory (e.g.C:\Program Files\Java\jdk1.8.0_xxx\bin\javaws.exe). -
If you cannot install Oracle JDK 8, use the Mirth Connect Administrator Launcher desktop application if your Mirth version shipped with one (Mirth 3.9+ includes a standalone launcher).
-
For Mirth 4.x, the Administrator is a standalone application and does not require Java Web Start.
Contact Support
Section titled “Contact Support”If your issue is not listed here, run the diagnostic bundle and contact support@synura.io with your subdomain, Mirth version and the bundle output.