# Kepware OPC UA Client Timeout

**URL:** <https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [May 26, 2020, 12:16pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039 "2020-05-26T12:16:45Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [May 26, 2020, 12:16pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/1 "2020-05-26T12:16:45Z")

</div>

Hi, we are trying to connect Ignition V8 ( **8.0.12** ) to KEPServerEX 6 (V6.8). In this evironment Ignition is the OPC UA Server and Kepware will be the OPC UA Client.

In Kepware we have created an OPC UA Client device which have the following configuration:

- Endpoint URL: opc.tcp://localhost:62541
- Security Policy: Basic256SHa256
- Message Mode: Sign and Encrypt
- Username = opcuauser with password = password (default)

In Ignition gateway we have the following settings:

- Bind Port: 62541
- Bind Address: localhost
- Endpoint Address: ,
- Security Policies: Basic256Sha256
- Anonymous Access: false
- User Source: opcua-module

We accepted the certificates on both sides so that could not be the issues. The issues which we are facing at the moment is as follow:

Kepware Error:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/1/1f1b7b86181085a6664bc4cedf5ee37fd29869a7.png)

Ignition Error:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/0/0ac9a98d39e25d034bd539c2390ba32a4b3a1844.png)

org.eclipse.milo.opcua.stack.core.UaException: no matching endpoint found: transportProfile=TCP\_UASC\_UABINARY, endpointUrl=opc.tcp://localhost:62541, securityPolicy=None, securityMode=None

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.lambda$openSecureChannel$3(UascServerAsymmetricHandler.java:407)

at java.base/java.util.Optional.orElseThrow(Unknown Source)

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.openSecureChannel(UascServerAsymmetricHandler.java:397)

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.lambda$sendOpenSecureChannelResponse$1(UascServerAsymmetricHandler.java:301)

at org.eclipse.milo.opcua.stack.core.channel.SerializationQueue.lambda$encode$0(SerializationQueue.java:57)

at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$Task.run(ExecutionQueue.java:119)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

The strange thing is that if we add “None” in the Server settings in the gateway that it works but we want to have the Secure Policy “Basic256Sha256”.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 26, 2020, 12:18pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/2 "2020-05-26T12:18:17Z")

</div>

Try configuring Kepware to use `opc.tcp://localhost:62541/discovery` as the endpoint URL.

In the past Kepware’s client has been broken and not capable of connecting unless there is also a no security endpoint configured. I’ve talked to them about this at the OPC interop events but not sure if they’ve fixed it yet.

---

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [May 26, 2020, 12:54pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/3 "2020-05-26T12:54:53Z")

</div>

> [@Kevin.Herron](#):
>
> opc.tcp://localhost:62541/discovery

Same issue with the discovery added to the URL. I now got a warning and an error, as I only got an error in the URL without discovery added.

Warning and error:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/c/c0e9d746b68f9f61eff91307da57018994a0a221.png)

org.eclipse.milo.opcua.stack.core.UaException: no matching endpoint found: transportProfile=TCP\_UASC\_UABINARY, endpointUrl=opc.tcp://localhost:62541/discovery, securityPolicy=Basic256Sha256, securityMode=SignAndEncrypt

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.lambda$openSecureChannel$3(UascServerAsymmetricHandler.java:407)

at java.base/java.util.Optional.orElseThrow(Unknown Source)

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.openSecureChannel(UascServerAsymmetricHandler.java:397)

at org.eclipse.milo.opcua.stack.server.transport.uasc.UascServerAsymmetricHandler.lambda$sendOpenSecureChannelResponse$1(UascServerAsymmetricHandler.java:301)

at org.eclipse.milo.opcua.stack.core.channel.SerializationQueue.lambda$encode$0(SerializationQueue.java:57)

at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$Task.run(ExecutionQueue.java:119)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.base/java.lang.Thread.run(Unknown Source)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 26, 2020, 12:56pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/4 "2020-05-26T12:56:08Z")

</div>

These look like the same issues I’ve seen and reported.

You can call them and let them know this is an issue for you but the only workaround you have for now is to add that “None” SecurityPolicy back to Ignition.

---

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [May 26, 2020, 12:58pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/5 "2020-05-26T12:58:07Z")

</div>

Ok, thanks for you help so far. I will contact Kepware

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [May 26, 2020, 1:06pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/6 "2020-05-26T13:06:46Z")

</div>

Some technical details to give them.

The Ignition OPC UA Server exposes two endpoints:

1. an endpoint running at “opc.tcp://localhost:62541/discovery”, which accepts unsecured connections and implements only the discovery services.

2. an endpoint running at “opc.tcp://localhost:62541”, which accepts connections with the configured security policies (only Basic256Sha256 by default).

The EndpointDescriptions returned by the GetEndpoints service at “opc.tcp://localhost:62541/discovery” contain endpoint URLs pointing to “opc.tcp://localhost:62541”.

If I recall, the problem is they follow and store the endpoint URL found when configured to use [1] but they do a traditional 2-step connect process where they connect and call GetEndpoints, find an endpoint that matches the desired configurations, then connect to that endpoint, but they try to do the discovery step against the 2nd endpoint URL that only accepts secured connections instead of the original discovery URL.

---

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [May 26, 2020, 1:21pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/7 "2020-05-26T13:21:17Z")

</div>

Great I keep you informed when I have got a reply from Kepware.

---

<div class="post-metadata">

**Author:** ![karnick](https://avatars.discourse-cdn.com/v4/letter/k/c37758/32.png) [@karnick](https://forum.inductiveautomation.com/u/karnick)\
**Post date:** [November 11, 2020, 12:50pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/8 "2020-11-11T12:50:45Z")

</div>

I found this thread because I am having the same issue. Did you hear anything from Kepware?

---

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [November 11, 2020, 1:09pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/9 "2020-11-11T13:09:45Z")

</div>

See below the answer which I got from PTC (Kepware) on my support ticket:

I’ve taken up this issue with our PM department and they’ve informed me that is already on the backlog for future improvement but a certain timeframe for this is not available at the moment.  
I’d love however to understand more of how this feature is needed by you in your setup and other details like the number of Kepserver instances with this feature you would need or what would be a suitable timeframe to deliver this feature ? This would be very useful to us as we’d like to gather info as much as possible on market needs and if possible it can speed up the enhacement release process.

---

<div class="post-metadata">

**Author:** ![WMars](https://avatars.discourse-cdn.com/v4/letter/w/b5e925/32.png) [@WMars](https://forum.inductiveautomation.com/u/WMars)\
**Post date:** [November 11, 2020, 1:11pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/10 "2020-11-11T13:11:38Z")

</div>

And this is a update on that which I received in July:

Thank you for your patience. As PTC, led by Kepware experts, is taking a holistic approach to OPC UA capabilities; it is necessary that we implement features with future architectures and use cases in mind. Traditional OPC server capabilities, though robust for data acquisition and transfer to client applications, do not inherently provide the contextualization necessary for advanced data transformation; modeling; analytics and machine learning which are essential to digital transformation. To enable these things with the quality and security that industrial solutions require takes careful consideration and appropriate planning. As we continue to maintain and improve on our award winning connectivity solution, {KEPServerEX, ThingWorx Kepware Server} we are taking a moment to validate our OPC UA architecture to ensure it is ready for things to come. PTC - Kepware is committed to providing robust OOTB industrial communications capabilities that support the needs of the future. This process will likely span to 2021, based on findings over the next several months.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 11, 2020, 1:25pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/11 "2020-11-11T13:25:00Z")

</div>

AFAIK you still must configure Ignition to allow unsecured connections (SecurityPolicy None) for Kepware’s UA client driver to connect.

---

<div class="post-metadata">

**Author:** ![gregory.sachs](https://avatars.discourse-cdn.com/v4/letter/g/e47774/32.png) [@gregory.sachs](https://forum.inductiveautomation.com/u/gregory.sachs)\
**Post date:** [March 16, 2026, 8:21pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/12 "2026-03-16T20:21:18Z")

</div>

Just chiming in to say that I’m working with a Siemens industrial edge device which acts exactly the same as the kepware server; it would not connect and maintain a connection for more than 20 seconds without setting security policy None

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 16, 2026, 8:24pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/13 "2026-03-16T20:24:08Z")

</div>

> [@gregory.sachs](#):
>
> it would not connect and maintain a connection for more than 20 seconds without setting security policy None

The problem being described here results in the client never successfully establishing a connection; you must be running into a different issue.

---

<div class="post-metadata">

**Author:** ![gregory.sachs](https://avatars.discourse-cdn.com/v4/letter/g/e47774/32.png) [@gregory.sachs](https://forum.inductiveautomation.com/u/gregory.sachs)\
**Post date:** [March 16, 2026, 8:41pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/14 "2026-03-16T20:41:44Z")

</div>

Potentially, or it may be that it takes 20 seconds for the device to figure out a lack of connection. This is what showed in the logs;  
and the issue was resolved by allowing None. This was using 8.1, I see in

[this thread](https://forum.inductiveautomation.com/t/opc-ua-client-connection-issues/79799/18) that things were refactored in 8.3 to be less strict.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/6/367c5c72a341ee1abef09cf7439591d6f0804bec.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/3/f38c72b4082995f68aa7766f09bd7818fa8087fa.png)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 16, 2026, 8:43pm UTC](https://forum.inductiveautomation.com/t/kepware-opc-ua-client-timeout/35039/15 "2026-03-16T20:43:16Z")

</div>

Yeah that looks like the manifestation on the Ignition side.

You can see that client trying to connect to the session endpoint (`opc.tcp://xx.xx.xx.xx:62541`) but with no security.
