Prosys OPC UA Java SDK 2.3.0
This is a new minor release of the SDK.
It includes a number of fixes related to the OPC Foundation Compliance Tests. The main fix is to have proper support for Diagnostics.
The automatic Compliance Test Tool has a bug that the 'Base Info Diagnostics' Conformance Unit is not selected when 'Standard UA Server' Profile is selected.
These tests are now required to pass certification and the SDK is now supporting the diagnostics properly as well.
The C++ SDK is nowadays limiting the number of PublishRequests that it accepts from the client applications (10 by default), and this version of the SDK is
adjusted to automatically tune the number of requests as necessary. Also the Java SDK defines a default limit of 100 for the requests
Also this version contains an updated Java Stack, which contains a fix for the long lasting issue of server socket going to CLOSE_WAIT state
in some rare circumstances and staying there.
OPC Foundation Java Stack changes
- Version 1.02.337.12
- Fixed: Situation where the server socket can go and stay at CLOSE_WAIT state
Changes to SDK Client
- New: Dynamically reacting to Bad_TooManyPublishRequest error. The number of PublishRequests to send to the server is automatically decremented if server reports it receives too many PublishRequests.
- New: UaClient.getPublishRequestSetpoint() is providing the current number of PublishRequests to send, which is automatically calculated as before (based on getPublishRequestFactor() and number of Subscriptions), if not set.
- New: UaClient.setPublishRequestSetpoint can be used to set the above number of PublishRequests also manually if desired.
- Fixed: Do not send PublishRequests if we have only timed out subscriptions (causes continuous Bad_NoSubscription errors from the server).
- Fixed: Subscription.isTimeout() was not reset when the subscription is removed from the client (or added again), disabling the subscription to be used again in practice.
Changes to SDK Server
- New/Fixed: DiagnosticsManager class. Handles support for Diagnostics.
- Deprecated: Methods in diagnostics related XXXTypeNode classes, as the DiagnosticsManager now sets the values directly
- New: SubscriptionManager.get/setMaxPublishRequestCount()
- Changed: RegisterServer service call must not be implemented in the internal DiscoveryServer of UaServer
- Fixed: NPE at Session.setLocaleIds()
- Fixed: SessionManager, returning Bad_IdentityTokenInvalid if null user token policy is defined (CTT Security User X509, 008.js)
- New: SampleConsoleServer example on user authentication using certificates. They are put to a 'USERS_PKI' folder which will be next to the 'PKI' folder.
Plus a number of other small fixes
- No changes, keeping version 2.2.4