

13:38, EEST

December 20, 2021

Good morning,
I have a question regarding subscription management:
when I have a server-side error, I intercept the requests to read and write the variables and raise an exception
…
@Override
public boolean onReadValue(ServiceContext serviceContext, NodeId nodeId, UaValueNode uaValueNode,
NumericRange numericRange, TimestampsToReturn timestampsToReturn, DateTime dateTime, DataValue dataValue)
throws StatusException {
if (error) {
throw new StatusException(StatusCodes.Bad_DataUnavailable);
return false;
}
@Override
public boolean onWriteValue(ServiceContext serviceContext, NodeId nodeId, UaValueNode uaValueNode,
NumericRange numericRange, DataValue dataValue) throws StatusException {
if (error) {
throw new StatusException(StatusCodes.Bad_NotSupported);
}
return false;
}
…
}
Would it be possible to do the same for subscriptions? I would like to notify an error for all active subscriptions
Thanks.
Best regards.
Francesco
14:48, EEST

December 21, 2011

You will need to update the variables that are affected by the error with ‘new DataValue(new StatusCode(StatusCodes.Bad_DataUnavailable))’.
If you have plenty of variables and prefer to just update the MonitoredItems directly, you need to keep track of them (via NodeManagerListener.onAfterCreateMonitoredItem/onDeleteMonitoredItem) and call notifyDataChange for each of them directly.
Also, when the error is gone, you should update the variables or MonitoredItems with valid values again.
Most Users Ever Online: 1919
Currently Online:
58 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 793
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1538
Posts: 6493
Newest Members:
sophiadavis, Waynegalse, Phillipbus, Oscarsat, WilliamJer, WilliamTunse, mvsjonah79, RaymondSmutt, Merlin AI pap, patlawrence98Moderators: Jouni Aro: 1027, Pyry: 1, Petri: 0, Bjarne Boström: 1037, Jimmy Ni: 26, Matti Siponen: 353, Lusetti: 0
Administrators: admin: 1