Prosys OPC UA Java SDK 2.1.2
This is a new bug fix release of the SDK. Interoperability regarding
Structure data and the new Basic256Sha256 security policy is
Note that Basic256Sha256 is not enabled in the server by
default. You can use SecurityMode.ALL_102 instead of SecurityMode.ALL
to enable this. Several client applications may still get confused of
the new policy, though.
OPC Foundation Java Stack changes
- Build 1.02.336.12
- New: Enable omitting the endpointUrl check between GetEndpoints and CreateSession by not providing the discoveredEndpoints for the createSession call.
- Fixed: Encoding and decoding Structures in Structures is not working against C/.NET Stack
- Fixed: Interoperability with Basic256Sha256 tested against C/.NET Stack
- Fixed: Do not break that badly, if structure type is not decodable.
- Fixed: Decoding of enumeration types
- Changed: ExtensionObject now accepts null byte as parameter
Changes to both SDK Client and Server
- Fixed: ModerParser errors now show approx. line number where the error occurs
Changes to SDK Client
- New: UaClient.set/isValidateDiscoveredEndpoints()
- Fixed: Do not acknowledge alive notifications (generated extra warning on server side)
- Fixed: createSubscriptions() will be recalled for failed subscriptions, if it fails in connect/reconnect (theoretically may happen).
- Fixed: Added additional checks to reading server status. If all fields of ServerStatus are null, then we read the elements individually. This should prevent NPE if server sends invalid structure back.
- Fixed: PublishResponseQueue handling could be sleeping every now and then, although new data had been received.
Changes to SDK Server
- New: NodeManager.isInitialized() & isStarted() (fields 'initialized' & 'started' are still protected, but will be changed to private in future)
- Fixed: UserIdentity: Do not try to decrypt user password with other keys, if it already succeeded with one key
- Fixed: ServerDiagnosticsSummary should now provide the correct data
- Fixed: Rare NPE in SessionManager, when UserTokenIdentity=null
- Fixed: EventManager.extractUserEventId() did not extract the correct bytes
- Fixed: GetMonitoredItems allowed only for the session that owns the subscription.
- Fixed: ServerStatus.CurrentTime was not updating
- Fixed: The security mode was not validated against the used Secure Channel (the check must be done in CreateSession, since it may not be done in OpenSecureChannel ((to always enable GetEndpoints)))
Plus a number of other small fixes
- Version 2.1.2
- Fixed: Class hierarchy for Structure types was not generated