Prosys OPC UA Java SDK 1.3.4
This is an update release, with some fixes and improvements. It improves the compatitibility with other OPC UA stacks, based on version 1.02 of the specification.
OPC Foundation Java Stack changes
- Stack Build 320.2
- OPC UA service and type definitions regenerated from the latest "UA Defined Types.xml": History data changed, namely the ReadAtTimesDetail structure
- New static properties: TcpConnection.set/getReceiveBufferSize() & TcpConnection.set/getSendBufferSize() (for client side)
- New static properties: UaTcpServer.set/getReceiveBufferSize() (for server side)
- Fixed: NPE at TcpConnection.ReadThread
Changes to both SDK Client and Server
- Fixed: NPE from PkiFileBasedCertificateValidator.validate(null, ...)
- Changed: DataTypeConverter.parseVariant to raise IllegalArgumentException or NullPointerException (and doc updated)
Changes to SDK Client
- New (INTERFACE CHANGE): SubscriptionNotificationListener.onMissingData to notify of missing data packets
- New: UaClient.hasServerStatusListener()
- New: MonitoredDataItem.hasChangeListener()
- New: MonitoredEventItem.hasChangeListener()
- New: Subscription.hasAliveListener()
- New: Subscription.hasNotificationListener()
- New: MonitoredItem.getErrorCode()
- Fixed: RequestHeader.Timestamp and RequestHandle are now set for UaClient messages (which use the internal getRequestHeader())
- Fixed: UaClient.historyReadAtTimes overload to define the useSimpleBounds parameter added to the Stack structure (default is false)
- Fixed: MonitoredDataItem.removeChangeListener parameter was incorrectly defined as MonitoredEventItem
- Fixed: Subscription.addItems must add all items to the subscription first
- Changed: Subscription.addItem does not remove the item from the subscription if createMonitoredItems call fails
Changes to SDK Server
- Changed: Type data initialized from the latest "UA Defined Types.xml"
- Changed: MonitoredDataItem.getNextSample() to not call initialValue() - it was triggering extra notifications
- New: InitialValue implementation moved to IoManager.initializeMonitoredDataItem(), which can be overridden - by default it will call readAttribute t oprovide initial value for "non-UaNode nodes" as well via custom IoManager
- New: listenerError to log errors in event handlers (in general)
- New: NodeManager.hasListener()
- New: SubscriptionManager.hasListener()
- New: SessionManager.hasListener()
- Fixed: Check for null listeners (in general)
- Fixed: Use HasProperty reference for properties of type nodes (was using HasComponent)
- Fixed: Types should be only readable
- Fixed: UaVariableNode.setAttributes() to also handle AccessLevel (if called via AddNodes service, for example)
- Fixed: SubscriptionManager.setPublishingMode() did not update queues of MonitoredItems leading to incorrect data changes (if set to false before adding items and returned to true after)
Changes to the Sample applications
- New: historyReadAtTimes samples
- New cmd line option: SampleConsoleClient '-m' to define monitoredItems from command line
- New example of sending normal events in SampleConsoleServer - see the Tutorial for an updated description of events and conditions
01.06.12