<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	    <channel>
        <title>OPC Foundation - Forum: OPC UA Implementation: Stacks, Tools, and Samples</title>
        <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/</link>
        <description><![CDATA[The Industrial Interoperability Standard™]]></description>
        <generator>Simple:Press Version 6.11.14</generator>
        <atom:link href="https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/rss/" rel="self" type="application/rss+xml"/>
		                <item>
                    <title>Randy Armstrong on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5735</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5735</guid>
					                        <description><![CDATA[<p>It includes all profiles for any CS supported by the server.</p>
<p>While all servers may not support today, it is something that can be easily filled in as part of a dialog with server vendors.</p>
<p>I believe that certification testing will require that this property be filled out correctly.</p>
<p>So insisting on certified servers would make the field more useful.</p>
]]></description>
					                    <pubDate>Sun, 09 Nov 2025 20:15:54 -0700</pubDate>
                </item>
				                <item>
                    <title>Patrick Berger on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5734</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5734</guid>
					                        <description><![CDATA[<p>Oh, I've didn't seen this - thanks for the link.</p>
<p>Based on your answer this list isn't limitted to the scope of server capabilities but also includes all used companion specification or vendor specific defined profiles?</p>
<p>I'm not shure if all servers are conform to this (at least the uamit demo server isn't it) <a href="https://github.com/umati/Sample-Server" rel="nofollow" target="_blank">https://github.com/umati/Sample-Server</a>. So from a robust client perspecivte this isn't a feacable way.</p>
]]></description>
					                    <pubDate>Sun, 09 Nov 2025 19:11:27 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5723</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5723</guid>
					                        <description><![CDATA[<p>Every Server should publish a list of Profiles that it supports:</p>
<p><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=ServerProfileArray" target="_blank">ServerProfileArray </a></em><span style="padding-left: 0em"> lists the </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Profiles" target="_blank">Profiles</a></em></span><span style="padding-left: 0em"> that the </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Server" target="_blank">Server</a></em></span><span style="padding-left: 0em"> supports. The </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=String" target="_blank">String</a></em></span><span style="padding-left: 0em"> shall be the URI of the </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Profile" target="_blank">Profile</a></em></span><span style="padding-left: 0em">. See </span><a href="https://reference.opcfoundation.org/Core/Part5/v105/docs/?r=UAPart7" target="_blank"><span style="padding-left: 0em">OPC 10000-7</span></a><span style="padding-left: 0em"> for definitions of OPC UA </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Server" target="_blank">Server</a></em></span> <span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Profiles" target="_blank">Profiles</a></em></span><span style="padding-left: 0em">. This list should be limited to the </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Profiles" target="_blank">Profiles</a></em></span><span style="padding-left: 0em"> the </span><span style="padding-left: 0em"><em class="text-primary"><a href="https://reference.opcfoundation.org/search/464?t=Server" target="_blank">Server</a></em></span><span style="padding-left: 0em"> supports in its current configuration. </span></p>
<p><a href="https://reference.opcfoundation.org/Core/Part5/v105/docs/6.3.2" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>.....docs/6.3.2</a></p>
]]></description>
					                    <pubDate>Mon, 03 Nov 2025 10:51:14 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on OAuth2 and Role set</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/oauth2-and-role-set/#p5722</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/oauth2-and-role-set/#p5722</guid>
					                        <description><![CDATA[<p>The contents of the token are not directly related to the permissions/roles defined in any given server.</p>
<p>The mapping between information in a token and the local roles is defined by Part 18</p>
<p><a href="https://reference.opcfoundation.org/Core/Part18/v105/docs/4.4.4" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>.....docs/4.4.4</a></p>
<p>In this case, the server admin would set up mapping rules for the roles that actually appear in the token and the the roles it knows about.</p>
]]></description>
					                    <pubDate>Mon, 03 Nov 2025 10:48:44 -0700</pubDate>
                </item>
				                <item>
                    <title>Patrick Berger on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5721</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5721</guid>
					                        <description><![CDATA[<blockquote class="spPostEmbedQuote">
<p>
<strong>Randy Armstrong said </strong><br />
Profiles are the primary way to to determine what functionality is supported.<br />
  </p>
</blockquote>
<p>But then we got the key-problems:</p>
<ul>
<li>how could a client read out the supported profiles from a server?</li>
<li>it seems that OPC UA server doesn't offer a "interface version" in a common/generic way. If I implement the Machinery Basic Building Blocks V1.04, then I earn 4-7 additional nodeSets. Each of them has his own version and URI information - but what the machine really provides as funcitonality at the interface (assuming that no machine provide all defined things from day 1) is the question.</li>
</ul>
]]></description>
					                    <pubDate>Sun, 02 Nov 2025 23:49:11 -0700</pubDate>
                </item>
				                <item>
                    <title>Kian A on OAuth2 and Role set</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/oauth2-and-role-set/#p5719</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/oauth2-and-role-set/#p5719</guid>
					                        <description><![CDATA[<p>In the 6.5.3 part of the specification some details of how the OAuth2 services would integrate with OPCUA is described. However one important thing which is not discussed is:Suppose a user logs in and gets a claim token containing a list of roles. In those roles a few, dont exist in the role set of the current OPCUA server the user is trying to login to. How are those roles handled? How can an OPCUA server sync up its role set independently? I might be missing something but I dont see any reasonable way that the OPCUA server can sync up the role set independently using OAuth2. This makes it questionable what happens to those unknown roles in the claim token returned by the Authorization Service since its also not mentioned in the specification. Any help is appreciated. Again, I might be missing something here so, I would be glad to discover that a solution exists or could be found.With regards,</p>
]]></description>
					                    <pubDate>Sun, 02 Nov 2025 20:38:49 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5712</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5712</guid>
					                        <description><![CDATA[<p>Profiles are the primary way to to determine what functionality is supported.</p>
<p>NodeSet minor versions are always backward compatible.</p>
<p>NodeSet major versions are not.</p>
<p>Usually, the URI will change with the major version. </p>
<p>The N<span style="padding-left: 0em">amespaces component of the Server Object has all of the metadata associated with the NamespaceUris.</span></p>
]]></description>
					                    <pubDate>Tue, 28 Oct 2025 14:39:29 -0700</pubDate>
                </item>
				                <item>
                    <title>Patrick Berger on Compatibility and Versions checking: what could/should a client rely on for the interface?</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5710</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/compatibility-and-versions-checking-what-could-should-a-client-rely-on-for-the-interface/#p5710</guid>
					                        <description><![CDATA[<p>Hi all</p>
<p>We implemented a lot of different interfaces for our products, and we had always some issues or soultions regarding different interface versions of communication partners.</p>
<p>With OPC UA, there is a promise that this will be solved in a robust manner. therefore some questions arise: So what must be provided by the server?</p>
<ul>
<li>I assume that for each used NodeSet with its Namespace and details, there must be an entry in the Namespace-Array. Accessing the namespace-details in the ServerType isn't possible, because it is optional (<a href="https://reference.opcfoundation.org/Core/Part5/v105/docs/6.3.1" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>.....docs/6.3.1</a>). So as client, at this point we get just the URIs. On the other side, with the URIs the client could rely on that there is no breaking change (<a href="https://reference.opcfoundation.org/Model-Best/v103/docs/11.3" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>...../docs/11.3</a>). But no informations regarding intermediate versions.</li>
<li>A client could only rely on all mandatory parts of a specification (<a href="https://reference.opcfoundation.org/Model-Best/v103/docs/3" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>.....103/docs/3</a>) -&#062; that is clear, but most specifications defines more elements optional, than mandatory. on the other side the server could react with errors (e.g. BadNotImplemented) or just provide default values (e.g. empty strings) for mandatory parts, to bypass this requirement.</li>
<li>Does the ServerStatus <a href="https://reference.opcfoundation.org/Core/Part5/v105/docs/12.10" rel="nofollow" target="_blank"><a href="https://reference.opcfoundatio" rel="nofollow">https://reference.opcfoundatio</a>.....docs/12.10</a> provide BuildInfos regarding the used SDK or in general the OPC UA Server?</li>
<li>If there are different profiles available, the interface and also the application will propably have an implementation progress.</li>
<li>Any "software revision" provided by the nameplate will cover the entire machine - not just the OPC UA server or the interface definition. In addition this is only available whithin a limitted scope like companion specifications.</li>
</ul>
<p>I've the feeling to overlook the basic version-information... like it is done for Rest-API versioning</p>
<p> </p>
<p>Thanks, and best regards</p>
<p>P51D</p>
]]></description>
					                    <pubDate>Sun, 26 Oct 2025 23:41:55 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on Detecting connection loss in reverse connect scheme</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/detecting-connection-loss-in-reverse-connect-scheme/#p5701</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/detecting-connection-loss-in-reverse-connect-scheme/#p5701</guid>
					                        <description><![CDATA[<p>You would depend on TCP level errors to determine that the socket has been lost. </p>
<p>This could mean long time outs or other error reporting delays that occur when relying on TCP stack error notifications.</p>
<p>The spec provides no recommendations when it comes to setting TCP socket properties but perhaps it should.</p>
<p>Can you add a mantis issue for Part 6 with some suggestions for spec additions:</p>
<p><a href="https://mantis.opcfoundation.org/set_project.php?project_id=34&#038;make_default=no" rel="nofollow" target="_blank"><a href="https://mantis.opcfoundation.o" rel="nofollow">https://mantis.opcfoundation.o</a>.....default=no</a></p>
]]></description>
					                    <pubDate>Fri, 10 Oct 2025 06:51:10 -0700</pubDate>
                </item>
				                <item>
                    <title>Alexander Sobetskiy on Detecting connection loss in reverse connect scheme</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/detecting-connection-loss-in-reverse-connect-scheme/#p5697</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/detecting-connection-loss-in-reverse-connect-scheme/#p5697</guid>
					                        <description><![CDATA[<p>In reverse connection ua-server initiates connection to ua-client by sending RHEL message.</p>
<p>What is the preferable way to determine the connection loss so ua server can resend RHEL message to the client?</p>
<p> </p>
<p>Can we enable tcp keep-alive on ua-server side?</p>
<p>Or should we have some configurable timeout on ua-server side like "timeout of no client messages received" ?</p>
<p>Or may be ua-server shall once in a sec try to open socket to the client and this way monitor connection loss?</p>
<p>Or may be ua-server should wait for session timeout to pass?</p>
<p>Any other way?</p>
]]></description>
					                    <pubDate>Thu, 09 Oct 2025 11:28:09 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on About the Opc.Ua.Client license</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/about-the-opc-ua-client-license-1/#p5677</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/about-the-opc-ua-client-license-1/#p5677</guid>
					                        <description><![CDATA[<p>MIT is GPLv2 compatible.</p>
<p>But this sounds like an issue that OPC needs to investigate more carefully.</p>
<p>It should not affect users since GPLv2 is inherited from Core no matter what.</p>
]]></description>
					                    <pubDate>Thu, 02 Oct 2025 18:49:03 -0700</pubDate>
                </item>
				                <item>
                    <title>james.webster@peergroup.com on About the Opc.Ua.Client license</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/about-the-opc-ua-client-license-1/#p5674</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/about-the-opc-ua-client-license-1/#p5674</guid>
					                        <description><![CDATA[<p dir="auto">In my understanding the OPCFoundation.NetStandard.Opc.Ua.Client (MIT License) package is a derivative work from OPCFoundation.NetStandard.Opc.Ua.Core (RCL or GPLv2 License)?</p>
<p dir="auto">"If your plugin or package links to a GPLv2 DLL, it is considered a combined work. The entire combination (plugin + GPLv2 DLL) must be GPLv2. If your main application loads that plugin, it may also be subject to GPLv2"</p>
<p dir="auto">Is the MIT License correct for the Client package?? Doesn't seem correct to me and others as discussed here: <a href="https://github.com/OPCFoundation/UA-.NETStandard/issues/2347#issuecomment-3330625046" target="_blank">the project licence · Issue #2347 · OPCFoundation/UA-.NETStandard</a></p>
<p dir="auto"><a href="https://www.nuget.org/packages/OPCFoundation.NetStandard.Opc.Ua.Client" target="_blank">NuGet Gallery &#124; OPCFoundation.NetStandard.Opc.Ua.Client 1.5.377.21</a></p>
<p dir="auto"> </p>
]]></description>
					                    <pubDate>Wed, 24 Sep 2025 23:18:18 -0700</pubDate>
                </item>
				                <item>
                    <title>Jouni Aro on What's the expected Server behaviour when not in Running State</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5660</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5660</guid>
					                        <description><![CDATA[<p>But what's the purpose of the ServerState variable, if the client cannot even read the value in these cases?</p>
<p>My interpretation has been that these are just information for the client application that the server is not able to provide actual data. But, nobody really uses these, anyway, and as can be seen with the .NET stack it's not even possible, if it cannot ever provide all of the defined values. </p>
]]></description>
					                    <pubDate>Thu, 04 Sep 2025 18:35:30 -0700</pubDate>
                </item>
				                <item>
                    <title>Randy Armstrong on What's the expected Server behaviour when not in Running State</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5659</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5659</guid>
					                        <description><![CDATA[<p>The definition of Bad_ServerHalted from Part 4</p>
<table width="630">
<tbody>
<tr>
<td width="221">
Bad_ServerHalted
</td>
<td width="409">
The <em>Server</em> has stopped and cannot process any requests.
</td>
</tr>
</tbody>
</table>
<p>Based on this definition you can go through the states and decide which ones mean it cannot process requests:</p>
<p>FAILED, SHUTDOWN and maybe UNKNOWN,</p>
<p>If the Server is in states other than these and Bad_ServerHalted is returned then it is bug in the .NET code.</p>
]]></description>
					                    <pubDate>Mon, 01 Sep 2025 16:38:54 -0700</pubDate>
                </item>
				                <item>
                    <title>Siyuan Xu on What's the expected Server behaviour when not in Running State</title>
                    <link>https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5658</link>
                    <category>OPC UA Implementation: Stacks, Tools, and Samples</category>
                    <guid isPermaLink="true">https://opcfoundation.org/forum/opc-ua-implementation-stacks-tools-and-samples/whats-the-expected-server-behaviour-when-not-in-running-state/#p5658</guid>
					                        <description><![CDATA[<p>Hi, </p>
<p>Can @Randy or someone help to explain to me about the UA ServerState specification? I cannot find out a clear answer concerning the UA Server's behaviour when it's not in Running state. It feels like an undefined behaviour from UA Specification: <a href="https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Freference.opcfoundation.org%2FCore%2FPart5%2Fv105%2Fdocs%2F12.6&#038;data=05%7C02%7Csiyuan.xu%40wapice.com%7Cf18fdf8ae9254ed7770f08dde6d1d6cb%7Ce93ae9a2b103404eaa22611d62f84bcb%7C0%7C0%7C638920511110329319%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&#038;sdata=lNVsrlhtRXrknrNtIm5SMSSBEA1wHcTYQAKx33Nn1XU%3D&#038;reserved=0" target="_blank">UA Part 5: Information Model - 12.6 ServerState</a><br />
The default behaviour from OPC Foundation's .NET standard stack is that, the server rejects any service request with ServiceResult: BadServerHalted. It results:</p>
<ul>
<li>The client cannot establish a session with the server.</li>
<li>The already established session fails.</li>
<li>The ServerState cannot be read by the Client, nor be sent from the server to the client.</li>
</ul>
<p>Is this expected behaviour across all vendors? Or is it vendor specific how the server should behave in non-Running states?</p>
<p>I am aware of that the server's behaviour can be overided. So why the standard stack choose to reject any service request?</p>
<p> </p>
<p>Thanks in advance,</p>
<p>Siyuan</p>
]]></description>
					                    <pubDate>Sat, 30 Aug 2025 23:27:15 -0700</pubDate>
                </item>
				    </channel>
	</rss>
