View Issue Details

IDProjectCategoryView StatusLast Update
000730710000-004: ServicesSpecpublic2024-06-10 17:24
ReporterMatthias Damm Assigned ToMatthias Damm  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Fixed in Version1.05.04 RC1 
Summary0007307: Handling of optional methods (variables) not implemented but imported from nodeset
Description

RoleType methods
AddIdentity
RemoveIdentity
AddApplication
RemoveApplication
AddEndpoint
RemoveEndpoint

have the statement:
If the Server does not allow changes to the mapping rules, then the Method is not present.

At least the roles imported from OPC UA nodeset have all optional Methods and Variables.

How should a server behave in this case.
This is a more general issue for all Variables / Methods created from Nodeset import but that do not have data source or business logic behind.

TagsNo tags attached.
Commit Version1.05.04 RC
Fix Due Date2023-11-01

Relationships

related to 0008757 closedRandy Armstrong 10000-006: Mappings Nodeset scheme UAVariable Value does not define default handling 
related to 0008758 closedRandy Armstrong NodeSets, XSDs and Generated Code RolePermissions and AccesRestrictions missing in Nodeset 
related to 0008760 assignedRandy Armstrong NodeSets, XSDs and Generated Code Export of Profile to ConformanceUnit mapping file from Profile Database 
related to 0009245 closedRandy Armstrong NodeSets, XSDs and Generated Code Handling of optional methods (variables) not implemented but imported from nodeset 

Activities

Jim Luth

2022-03-11 15:40

administrator   ~0016351

This needs to be clarified for all methods (not specifically for Part 18) Moving to Part 4.

Matthias Damm

2023-03-20 16:18

developer   ~0018915

Need a discussion in F2F

I saw at the IOP that all server that load NS0 from Nodeset have the same problem. They expose many Methods that return errors like BadNotImplemented and have Variables with Value NULL / Good Status

Matthias Damm

2023-09-25 08:42

developer   ~0020046

In Part 6 we added the following statement in nodeset XML schema (F.8 UAVariable):
If a Value is not provided and a UANodeSet is used to initialize a Server AddressSpace then the Server shall report a StatusCode of Bad_WaitingForInitialData or choose a default Value consistent with the DataType and ValueRank.

In Part 4, we have the following statement in 7.11.5 StatusCode assigned to a value:
If the Server has no known value - in particular when Severity is BAD, it shall return a NULL value.

This does not say explicit that NULL value and Good Status is not allowed.
It would be good if we would clarify this consistent in the same release.

Matthias Damm

2023-09-26 16:36

developer   ~0020059

Discussion in WG meeting:
Define a new deticated status code in Part 4
Update description in 7.11.5 to state that either a default value is provided or NULL with the new status code.

Matthias Damm

2023-11-07 17:20

developer   ~0020292

Added status code
Bad_NoInitialData
There is no initial data available.
The status is used if a Variable is created and no default value or no initial value is available.

Added clarification to description in 7.11.5:
If the related DataType is not BaseDataType, the Severity shall be BAD if the value is NULL. If a Variable is created and no default value or initial value is available, the StatusCode shall be Bad_NoInitialData.

Jim Luth

2023-11-07 18:07

administrator   ~0020299

Agreed to changes edited in web meeting.

Matthias Damm

2024-05-21 05:52

developer   ~0021206

This issue was resolved for Variables but not for Methods.

What should be the Method result code if a mandatory Method is not supported for the instance. E.g. Enable/Disable of Conditions if the underlying alarm system does not support enable/disable.

Is Bad_NotSupported a good option?
We have also Bad_NotImplemented but I see this more like a default value that would be returned if there is no defined handling at all (or default return generated by a code generator for a empty Method implementation prototype code).

Matthias Damm

2024-06-10 07:23

developer   ~0021269

Table 67 – Call Operation Level Result Codes
Added Bad_NotSupported
See Table 183 for the description of this result code.
The Method is not supported for the Object instance.

Jim Luth

2024-06-10 17:24

administrator   ~0021283

Agreed to changes in Virtual F2F.

Issue History

Date Modified Username Field Change
2021-09-24 13:55 Matthias Damm New Issue
2021-11-23 18:05 Jim Luth Assigned To => Matthias Damm
2021-11-23 18:05 Jim Luth Status new => assigned
2022-03-11 15:40 Jim Luth Note Added: 0016351
2022-03-11 15:40 Jim Luth Project 10000-018: Role-Based Security => 10000-004: Services
2023-03-20 16:18 Matthias Damm Note Added: 0018915
2023-03-24 17:58 Matthias Damm Relationship added related to 0008757
2023-03-24 18:06 Matthias Damm Relationship added related to 0008758
2023-03-24 18:14 Matthias Damm Relationship added related to 0008760
2023-09-25 08:42 Matthias Damm Note Added: 0020046
2023-09-26 16:36 Matthias Damm Note Added: 0020059
2023-09-26 16:54 Jim Luth Product Version 1.05.00 =>
2023-09-26 16:54 Jim Luth Commit Version => 1.05.03
2023-09-26 16:54 Jim Luth Fix Due Date => 2023-11-01
2023-11-07 17:20 Matthias Damm Status assigned => resolved
2023-11-07 17:20 Matthias Damm Resolution open => fixed
2023-11-07 17:20 Matthias Damm Note Added: 0020292
2023-11-07 18:05 Jim Luth Issue cloned: 0009245
2023-11-07 18:05 Jim Luth Relationship added related to 0009245
2023-11-07 18:07 Jim Luth Status resolved => closed
2023-11-07 18:07 Jim Luth Fixed in Version => 1.05.03
2023-11-07 18:07 Jim Luth Note Added: 0020299
2024-05-21 05:52 Matthias Damm Status closed => feedback
2024-05-21 05:52 Matthias Damm Resolution fixed => reopened
2024-05-21 05:52 Matthias Damm Note Added: 0021206
2024-06-10 07:23 Matthias Damm Status feedback => resolved
2024-06-10 07:23 Matthias Damm Resolution reopened => fixed
2024-06-10 07:23 Matthias Damm Note Added: 0021269
2024-06-10 17:24 Jim Luth Status resolved => closed
2024-06-10 17:24 Jim Luth Fixed in Version 1.05.03 => 1.05.04 RC1
2024-06-10 17:24 Jim Luth Commit Version 1.05.03 => 1.05.04 RC
2024-06-10 17:24 Jim Luth Note Added: 0021283