Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

How to configure a request timeout in EasyUAClient?

More
01 Sep 2021 07:55 #10171 by support
Thank you.

Note that the pre-release package will now be made unlisted on NuGet. This means that it is still present for download and can still be used, but is not normally viewable, and your projects needs to explicitly reference that version.

Best regards

Please Log in or Create an account to join the conversation.

More
01 Sep 2021 07:51 #10170 by servusintra
We tested the specified pre-release in our project (ASP.NET 5 application). We did not verify that loading the configuration works now. However, we can confirm that the OperationTimeout property is exactly doing what we were looking for in the beginning. It's working on Windows and Linux (Ubuntu 20.04).

This solves our issue. We will now continue our tests and wait for the production-ready release.
Thanks a lot for the great and fast support!
The following user(s) said Thank You: support

Please Log in or Create an account to join the conversation.

More
31 Aug 2021 14:15 - 31 Aug 2021 14:16 #10168 by support
Hello,

please try the pre-release version 5.62.0-rev6 from www.nuget.org . It should all work there : 2 ways to do the config file, plus there is the OperationTimeout property: kb.opclabs.com/QuickOPC-UA_Timeout_Settings (the link on that page that should point to the reference documentation does not work yet).

Note: I admit we have *not* tested it on Linux yet. This is because we have found that the issues you have reported had actually to do with running under .NET Core/.NET 5+ . So we fixed that and it now works under .NET Core/.NET 5+ in Windows. Linux tests will come further down the road, but hopefully it will work for you already.

Best regards
Last edit: 31 Aug 2021 14:16 by support.
The following user(s) said Thank You: servusintra

Please Log in or Create an account to join the conversation.

More
30 Aug 2021 07:13 #10163 by servusintra
Thanks for your commitment to this issue!

We will then wait for version 2021.3 to be released.
Should there be a chance to get an Early Access version, please let us know.

Please Log in or Create an account to join the conversation.

More
28 Aug 2021 16:12 #10160 by support
Hello.

I had a deeper look at this. I can confirm that under Linux, there are problems in both approaches (just with the SDK config file, but also with 2 files). There are different reasons for them, but the end result is that none of them works in version 2021.2.

This should be fully resolved in 2021.3, so 1 file, 2 files, or just the OperationTimeout property - all of that will be there.

Unless the issue is critical for you to be resolved quickly, I'd like you to ask you to wait for version 2021.3. The concrete date is not yet set, though.

Best regards
The following user(s) said Thank You: servusintra

Please Log in or Create an account to join the conversation.

More
27 Aug 2021 05:11 #10154 by support
Hello.

I will have further look at this. The issue might be related to the fact that "dotnet publish" is used. And, as you pointed out, this means a different name of the executable, as opposed to when ran with "dotnet ConsoleApp.dll".

Best regards

Please Log in or Create an account to join the conversation.

More
26 Aug 2021 14:08 #10153 by servusintra
I followed your instructions and created a second xml file that points to the actual configuration and placed it alongside the .dll.
I named it ConsoleApp.dll.config and gave it the following content:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
     <section name="UAClientEngine" type="Opc.Ua.ApplicationConfigurationSection,Opc.Ua.Core" />
   </configSections>
 
  <UAClientEngine>
     <ConfigurationLocation xmlns="http://opcfoundation.org/UA/SDK/Configuration.xsd">
       <FilePath>ConsoleApp.config.xml</FilePath>
     </ConfigurationLocation>
  </UAClientEngine>
</configuration>

Unfortunately that did not work, so I tried with other variants of file names, i.e. with and without the .xml extension, or calling the "pointer file" ConsoleApp.config(.xml), without '.dll', since the executable on linux is "ConsoleApp" only.

In the end it was always the same result. It seems that the configuration file is not detected or cannot be read.


If you have any other suggestions, we will be happy to try them. Otherwise, we will consider waiting until the next release. As soon as the release date is fixed, please let us know.

Please Log in or Create an account to join the conversation.

More
26 Aug 2021 12:31 #10152 by support
Sorry, more to this:

I have now realized that the documentation mentions the possibility that you can get away with just the second file, precisely as you did. And, that should work on Windows. But it does not currently work on Linux.

The remedy is to use both files, as suggested in my post.

I apologize for any confusion.

Best regards\

Please Log in or Create an account to join the conversation.

More
26 Aug 2021 12:20 #10151 by support
Hello.

In total there should 2 XML configuration files, and you have just the second one them.

The first one should point to the second one - and it is missing.

See kb.opclabs.com/OPC_UA_.NET_SDK_Configuration .

In .NET Framework, it would be named ConsoleApp.exe.config, but because you are under .NET Core, it should be named ConsoleApp.dll.config and placed alongside ConsoleApp.dll.

Best regards

Please Log in or Create an account to join the conversation.

More
26 Aug 2021 08:10 #10150 by servusintra
1) We are using the following NuGet package version
<PackageReference Include="OpcLabs.QuickOpc" Version="5.61.343" />
which is 2021.2 regarding to kb.opclabs.com/Versions

2) 3) 4)
We have created an example .NET 5 console application that contains the same configuration as we use in production. With that we could reproduce the error on a Ubuntu machine while on Windows it worked. I've attached ConsoleApp.zip in case you want to test it yourselfs, but will describe the test and it's results here:

1. Created default .NET 5 console application
1.1. Specify configuration for EasyUaClient
private static void SetUpQuickOpc()
{
    EasyUAClient.SharedParameters.EngineParameters
        .CertificateAcceptancePolicy = UACertificateAcceptancePolicy.TestingInsecure;
 
    EasyUAClient.SharedParameters.EngineParameters.ConfigurationSources = UAConfigurationSources.AppConfig;
 
    EasyUAClient.LogEntry += (_, args) =>
        Console.WriteLine($"EasyUAClient message args: {args}");
}
1.2. Instantiate new EasyUaClient with Isolated set to true (because we use one client per endpoint)
1.3. Execute Read() and log result

2. Published the application (on Windows)
for Windows
dotnet publish .\ConsoleApp.csproj -c Debug -o ./publish
for Ubuntu
dotnet publish .\ConsoleApp.csproj -c Debug -o ./publish --runtime linux-x64

3. Ran it on both machines

I have attached a file for each test result: Error (Ubuntu).txt, Success(Windows).txt. They contain the detailed log messages of the EasyUaClient.
Attachments:

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.235 seconds