View Issue Details

IDProjectCategoryView StatusLast Update
000454210000-004: ServicesSpecpublic2020-06-15 17:56
ReporterJeff Harding Assigned ToMatthias Damm  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Summary0004542: Error handling of Method calls
Description

I am not really sure to which part this belongs to.

Issue:
In the services a method call can only return StatusCodes defined by the OPC UA specification. This is often not enough and more detailed status for the specific method is desired. An often-used pattern is therefore to return a StatusCode as out parameter of the method (e.g. in FDI).

What I did not found anywhere I looked was the handling of such methods in the service call. Do we need to return a Good StatusCode on the services and then a user-defined method StatusCode that could indicate that the method failed? Can I even access the out parameters when the method returns a BAD status code on the service and expect anything useful in them?

From my point of view it is desirable to define in the base specs (therefore I had chosen Part 3) at least a pattern that should be used to return Method-specific status codes and what is the expected behavior for on the service level.

For this case it would also be good if the out variable can be an “extendable enum”, meaning not a specific Enum DataType (which cannot be extended) but something having EnumStrings or EnumValues so that standard information models can define some base status but vendors can extend that. As I understood proving such a feature is already in discussion anyhow.

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0005550 closedMatthias Damm 10000-004: Services Method out parameter handling if Method result is bad 
related to 0004156 closedJeff Harding 10000-003: Address Space Error handling of Method calls 

Activities

Jeff Harding

2018-12-18 18:12

developer   ~0009731

There needs to be a clarification describing what is returned by a method call when Bad Result codes are returned.

Matthias Damm

2020-06-14 11:52

developer   ~0012267

Added to Method Response

statusCode
If the Method execution fails but the outputArguments provide additional information like an application specific error code, the Method shall return a StatusCode with Severity Uncertain.

outputArguments
The list shall be empty if the statusCode Severity is Bad.

Added in OPC 10000-4 - UA Specification Part 4 - Services Draft 1.05.08.docx

Jim Luth

2020-06-15 17:56

administrator   ~0012308

Agreed to changes in Virtual F2F.

Issue History

Date Modified Username Field Change
2018-12-18 18:06 Jeff Harding New Issue
2018-12-18 18:06 Jeff Harding Status new => assigned
2018-12-18 18:06 Jeff Harding Assigned To => Jeff Harding
2018-12-18 18:06 Jeff Harding Issue generated from: 0004156
2018-12-18 18:08 Jeff Harding Project 10000-003: Address Space => 10000-004: Services
2018-12-18 18:12 Jeff Harding Note Added: 0009731
2018-12-18 18:12 Jeff Harding Assigned To Jeff Harding => Matthias Damm
2018-12-18 18:45 Jeff Harding Relationship added related to 0004156
2020-06-14 11:51 Matthias Damm Relationship added related to 0005623
2020-06-14 11:52 Matthias Damm Relationship deleted related to 0005623
2020-06-14 11:52 Matthias Damm Relationship added related to 0005550
2020-06-14 11:52 Matthias Damm Status assigned => resolved
2020-06-14 11:52 Matthias Damm Resolution open => fixed
2020-06-14 11:52 Matthias Damm Note Added: 0012267
2020-06-15 17:56 Jim Luth Status resolved => closed
2020-06-15 17:56 Jim Luth Fixed in Version => 1.05
2020-06-15 17:56 Jim Luth Note Added: 0012308