View Issue Details

IDProjectCategoryView StatusLast Update
000904410000-004: ServicesSpecpublic2025-08-05 17:29
ReporterMartin Regen Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Platform.NET stack 
Product Version1.04 
Summary0009044: Clarify use of the serverUri field in the CreateSession request
Description

A user of the .NET stack recently reported that the .NET stack is always sending the application Uri (server Uri) on the CreateSession service call and that the serverUri should be set to null instead as it is stated in the spec: https://reference.opcfoundation.org/Core/Part4/v104/docs/5.6.2.2

"This value is only specified if the EndpointDescription has a gatewayServerUri.
This value is the applicationUri from the EndpointDescription which is the applicationUri for the underlying Server. The type EndpointDescription is defined in 7.10."

The reporter claimed that he couldn't connect to a server when the field was set. However talking to the SDK vendor he claimed it should not be an issue, but it may be checked if the field is set.

Sending the serverUri had been tested for years in the IOP and in the field and I'm not aware of any issues.
Even worse, servers may check the field and changing it would cause IOP issues.
So I'm hesitating to change the code but it is not spec compliant.

If more SDK implement it this way, I would like to discuss if the text should be changed to allow to do it both ways as it seems to be 'de facto' standard.
Also gateways server uri will be deprecated.

Are there specific CTT tests that validate the behavior to allow for setting the application Uri?

see also https://github.com/OPCFoundation/UA-.NETStandard/pull/2193

TagsNo tags attached.
Commit Version1.05.07 RC1
Fix Due Date2025-10-01

Activities

Jim Luth

2023-07-25 15:30

administrator   ~0019721

Agreed to relax the requirement to set URI to null and allow the URI to be sent or null.

Jim Luth

2025-08-05 15:42

administrator   ~0023200

Since gateway concept is being deprecated, the text should state (for 1.05) the client Should send Null or empty and Servers shall ignore the value if it is sent.

Issue History

Date Modified Username Field Change
2023-07-14 04:19 Martin Regen New Issue
2023-07-25 15:30 Jim Luth Note Added: 0019721
2023-07-25 15:31 Jim Luth Status new => acknowledged
2025-08-05 15:42 Jim Luth Note Added: 0023200
2025-08-05 15:43 Jim Luth Assigned To => Matthias Damm
2025-08-05 15:43 Jim Luth Status acknowledged => assigned
2025-08-05 17:28 Jim Luth Commit Version => 1.05.07 RC1
2025-08-05 17:29 Jim Luth Fix Due Date => 2025-10-01