OPC UA Bad_ConnectionRejected: Troubleshooting Android

Jason IP2 min read
OPC / OPC UAOther ManufacturerTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

An Android OPC UA client can connect through an emulator yet fail on a physical device because the two environments do not necessarily resolve hostnames, enforce socket permissions, or reach the server identically. The reported endpoint was opc.tcp://BLSL00926.ties.com:53530/opcserver, and the client returned Bad_ConnectionRejected (0x80AC0000) while retrieving endpoints.

Interpret the connection errors

Observed result Supported interpretation Next decision
Failed to retrieve endpoints The client could not complete the initial connection to the endpoint URL. Test name resolution and TCP reachability before diagnosing OPC UA services.
Bad_ConnectionRejected (0x80AC0000) A network connection to the remote server was not established. Check the endpoint address, server listener, firewall, and network path.
socket failed: EACCES (Permission denied) The operating system denied the socket operation. Check the Android application's network permissions and device restrictions.

Separate hostname failure from OPC UA failure

The physical device initially failed when the endpoint used BLSL00926.ties.com, while replacing that DNS name with the server device's IP address allowed a connection. That result implicates hostname resolution or routing to the resolved address; it does not establish an OPC UA protocol, security, or read/write defect.

Test the physical device with both endpoint forms. If the IP form connects but the hostname form does not, correct DNS resolution for the Android device or continue with a stable server address appropriate to the network. Confirm that the resulting endpoint still targets port 53530 and path /opcserver.

Check Android socket authorization

The later exception explicitly reported EACCES (Permission denied). Inspect the application's Android network permissions and any device policy that can deny outbound socket access. Because the evidence does not identify the application manifest, Android release, or permission identifier, verify the permission required by the actual client build rather than assuming a specific setting.

Rebuild or reinstall the application after correcting its configuration, then repeat endpoint discovery from the physical device. A successful emulator test does not verify authorization on the device.

Verify the network path to the Windows server

  1. Confirm that the OPC UA server is running on the Windows 10 desktop and listening at the configured endpoint.
  2. Verify that the Android device can route to the server address through the shared network.
  3. Check host and network firewalls for traffic to port 53530.
  4. Check router forwarding only if traffic must cross routed or translated network boundaries; sharing a router alone does not prove end-to-end reachability.
  5. Retry endpoint discovery, then verify read and write operations only after discovery succeeds.

If no connection attempt reaches the server, continue with permissions, DNS, routing, and firewall diagnostics. If endpoint discovery succeeds but later OPC UA operations fail, treat that as a separate service or application-layer problem.

FAQ

Why does my OPC UA Android emulator connect but the phone fails?

The emulator and physical device can have different DNS, routing, firewall, and socket-permission behavior. Test the same endpoint by hostname and IP address from the physical device.

What does OPC UA Bad_ConnectionRejected 0x80AC0000 mean?

In this case, the client could not establish a network connection while retrieving endpoints. Verify the server address, port 53530, listener, firewall, and route before troubleshooting OPC UA data access.

How do I fix socket failed EACCES Permission denied on Android?

Check the application's Android network permissions and device restrictions, then rebuild or reinstall the corrected client. Retest endpoint discovery before attempting reads or writes.

Back to blog