node-opcua-server 2.105.1 → 2.107.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addressSpace_accessor.d.ts +29 -0
- package/dist/addressSpace_accessor.js +346 -0
- package/dist/addressSpace_accessor.js.map +1 -0
- package/dist/base_server.js +1 -1
- package/dist/base_server.js.map +1 -1
- package/dist/i_address_space_accessor.d.ts +11 -0
- package/dist/i_address_space_accessor.js +3 -0
- package/dist/i_address_space_accessor.js.map +1 -0
- package/dist/monitored_item.js +1 -1
- package/dist/monitored_item.js.map +1 -1
- package/dist/opcua_server.d.ts +1 -1
- package/dist/opcua_server.js +46 -46
- package/dist/opcua_server.js.map +1 -1
- package/dist/register_server_manager.js +1 -1
- package/dist/register_server_manager.js.map +1 -1
- package/dist/server_engine.d.ts +15 -103
- package/dist/server_engine.js +36 -370
- package/dist/server_engine.js.map +1 -1
- package/dist/server_publish_engine.js +1 -1
- package/dist/server_publish_engine.js.map +1 -1
- package/dist/server_session.js +1 -1
- package/dist/server_session.js.map +1 -1
- package/dist/server_subscription.d.ts +1 -1
- package/dist/server_subscription.js +7 -5
- package/dist/server_subscription.js.map +1 -1
- package/package.json +26 -26
- package/source/addressSpace_accessor.ts +393 -0
- package/source/i_address_space_accessor.ts +12 -0
- package/source/monitored_item.ts +2 -2
- package/source/opcua_server.ts +70 -83
- package/source/register_server_manager.ts +0 -1
- package/source/server_engine.ts +40 -512
- package/source/server_subscription.ts +2 -2
package/source/opcua_server.ts
CHANGED
|
@@ -20,9 +20,6 @@ import * as utils from "node-opcua-utils";
|
|
|
20
20
|
|
|
21
21
|
import {
|
|
22
22
|
AddressSpace,
|
|
23
|
-
callMethodHelper,
|
|
24
|
-
ContinuationPoint,
|
|
25
|
-
IUserManager,
|
|
26
23
|
PseudoVariantBoolean,
|
|
27
24
|
PseudoVariantByteString,
|
|
28
25
|
PseudoVariantDateTime,
|
|
@@ -1051,7 +1048,7 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
1051
1048
|
* the maximum number of subscription that can be created per server
|
|
1052
1049
|
* @deprecated
|
|
1053
1050
|
*/
|
|
1054
|
-
public static
|
|
1051
|
+
public static deprecated_MAX_SUBSCRIPTION = 50;
|
|
1055
1052
|
|
|
1056
1053
|
/**
|
|
1057
1054
|
* the maximum number of concurrent sessions allowed on the server
|
|
@@ -1156,7 +1153,7 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
1156
1153
|
const hostname = getFullyQualifiedDomainName();
|
|
1157
1154
|
|
|
1158
1155
|
endpointDefinitions.push({
|
|
1159
|
-
port: options.port
|
|
1156
|
+
port: options.port === undefined ? 26543 : options.port,
|
|
1160
1157
|
|
|
1161
1158
|
allowAnonymous: options.allowAnonymous,
|
|
1162
1159
|
alternateHostname: options.alternateHostname,
|
|
@@ -1328,7 +1325,7 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
1328
1325
|
const shutdownTime = new Date(Date.now() + timeout);
|
|
1329
1326
|
this.engine.setShutdownTime(shutdownTime);
|
|
1330
1327
|
|
|
1331
|
-
debugLog("OPCUAServer is now
|
|
1328
|
+
debugLog("OPCUAServer is now un-registering itself from the discovery server " + this.buildInfo);
|
|
1332
1329
|
this.registerServerManager!.stop((err?: Error | null) => {
|
|
1333
1330
|
debugLog("OPCUAServer unregistered from discovery server", err);
|
|
1334
1331
|
setTimeout(async () => {
|
|
@@ -2630,10 +2627,6 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
2630
2627
|
(session: ServerSession, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => {
|
|
2631
2628
|
const context = session.sessionContext;
|
|
2632
2629
|
|
|
2633
|
-
let response;
|
|
2634
|
-
|
|
2635
|
-
let results = [];
|
|
2636
|
-
|
|
2637
2630
|
const timestampsToReturn = request.timestampsToReturn;
|
|
2638
2631
|
|
|
2639
2632
|
if (timestampsToReturn === TimestampsToReturn.Invalid) {
|
|
@@ -2666,20 +2659,20 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
2666
2659
|
|
|
2667
2660
|
// ask for a refresh of asynchronous variables
|
|
2668
2661
|
this.engine.refreshValues(request.nodesToRead, request.maxAge, (err?: Error | null) => {
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
assert(results.length === request.nodesToRead!.length);
|
|
2662
|
+
|
|
2663
|
+
this.engine.read(context, request).then((results) => {
|
|
2664
|
+
assert(results[0].schema.name === "DataValue");
|
|
2665
|
+
assert(results.length === request.nodesToRead!.length);
|
|
2674
2666
|
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2667
|
+
const response = new ReadResponse({
|
|
2668
|
+
diagnosticInfos: undefined,
|
|
2669
|
+
results: undefined
|
|
2670
|
+
});
|
|
2671
|
+
// set it here for performance
|
|
2672
|
+
response.results = results;
|
|
2673
|
+
assert(response.diagnosticInfos!.length === 0);
|
|
2674
|
+
sendResponse(response);
|
|
2678
2675
|
});
|
|
2679
|
-
// set it here for performance
|
|
2680
|
-
response.results = results;
|
|
2681
|
-
assert(response.diagnosticInfos!.length === 0);
|
|
2682
|
-
sendResponse(response);
|
|
2683
2676
|
});
|
|
2684
2677
|
}
|
|
2685
2678
|
);
|
|
@@ -2736,25 +2729,23 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
2736
2729
|
this.engine.refreshValues(request.nodesToRead, 0, (err?: Error | null) => {
|
|
2737
2730
|
assert(!err, " error not handled here , fix me"); // TODO
|
|
2738
2731
|
|
|
2739
|
-
this.engine
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2732
|
+
this.engine
|
|
2733
|
+
.historyRead(context, request)
|
|
2734
|
+
.then((results: HistoryReadResult[]) => {
|
|
2735
|
+
assert(results[0].schema.name === "HistoryReadResult");
|
|
2736
|
+
assert(results.length === request.nodesToRead!.length);
|
|
2737
|
+
|
|
2738
|
+
response = new HistoryReadResponse({
|
|
2739
|
+
diagnosticInfos: undefined,
|
|
2740
|
+
results
|
|
2741
|
+
});
|
|
2742
|
+
|
|
2743
|
+
assert(response.diagnosticInfos!.length === 0);
|
|
2744
|
+
sendResponse(response);
|
|
2745
|
+
})
|
|
2746
|
+
.catch((err) => {
|
|
2744
2747
|
return sendError(StatusCodes.BadHistoryOperationInvalid);
|
|
2745
|
-
}
|
|
2746
|
-
|
|
2747
|
-
assert(results[0].schema.name === "HistoryReadResult");
|
|
2748
|
-
assert(results.length === request.nodesToRead!.length);
|
|
2749
|
-
|
|
2750
|
-
response = new HistoryReadResponse({
|
|
2751
|
-
diagnosticInfos: undefined,
|
|
2752
|
-
results
|
|
2753
2748
|
});
|
|
2754
|
-
|
|
2755
|
-
assert(response.diagnosticInfos!.length === 0);
|
|
2756
|
-
sendResponse(response);
|
|
2757
|
-
});
|
|
2758
2749
|
});
|
|
2759
2750
|
}
|
|
2760
2751
|
);
|
|
@@ -2804,19 +2795,21 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
2804
2795
|
const context = session.sessionContext;
|
|
2805
2796
|
|
|
2806
2797
|
assert(request.nodesToWrite[0].schema.name === "WriteValue");
|
|
2807
|
-
|
|
2808
|
-
|
|
2798
|
+
|
|
2799
|
+
this.engine
|
|
2800
|
+
.write(context, request.nodesToWrite)
|
|
2801
|
+
.then((results: StatusCode[]) => {
|
|
2802
|
+
assert(results!.length === request.nodesToWrite!.length);
|
|
2803
|
+
response = new WriteResponse({
|
|
2804
|
+
diagnosticInfos: undefined,
|
|
2805
|
+
results
|
|
2806
|
+
});
|
|
2807
|
+
sendResponse(response);
|
|
2808
|
+
})
|
|
2809
|
+
.catch((err) => {
|
|
2809
2810
|
errorLog(err);
|
|
2810
|
-
|
|
2811
|
-
}
|
|
2812
|
-
assert(Array.isArray(results));
|
|
2813
|
-
assert(results!.length === request.nodesToWrite!.length);
|
|
2814
|
-
response = new WriteResponse({
|
|
2815
|
-
diagnosticInfos: undefined,
|
|
2816
|
-
results
|
|
2811
|
+
sendError(StatusCodes.BadInternalError);
|
|
2817
2812
|
});
|
|
2818
|
-
sendResponse(response);
|
|
2819
|
-
});
|
|
2820
2813
|
}
|
|
2821
2814
|
);
|
|
2822
2815
|
}
|
|
@@ -3326,14 +3319,18 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
3326
3319
|
}
|
|
3327
3320
|
}
|
|
3328
3321
|
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3322
|
+
this.engine
|
|
3323
|
+
.translateBrowsePaths(request.browsePaths)
|
|
3324
|
+
.then((browsePathsResults) => {
|
|
3325
|
+
const response = new TranslateBrowsePathsToNodeIdsResponse({
|
|
3326
|
+
diagnosticInfos: null,
|
|
3327
|
+
results: browsePathsResults
|
|
3328
|
+
});
|
|
3329
|
+
sendResponse(response);
|
|
3330
|
+
})
|
|
3331
|
+
.catch((err) => {
|
|
3332
|
+
sendError(StatusCodes.BadInternalError);
|
|
3333
|
+
});
|
|
3337
3334
|
}
|
|
3338
3335
|
);
|
|
3339
3336
|
}
|
|
@@ -3366,27 +3363,17 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
3366
3363
|
return sendError(StatusCodes.BadTooManyOperations);
|
|
3367
3364
|
}
|
|
3368
3365
|
|
|
3369
|
-
/* jshint validthis: true */
|
|
3370
|
-
const addressSpace = this.engine.addressSpace!;
|
|
3371
|
-
|
|
3372
3366
|
const context = session.sessionContext;
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
(err?: Error | null, results?: (CallMethodResultOptions | undefined)[]) => {
|
|
3378
|
-
/* istanbul ignore next */
|
|
3379
|
-
if (err) {
|
|
3380
|
-
errorLog("ERROR in method Call !! ", err);
|
|
3381
|
-
}
|
|
3382
|
-
assert(Array.isArray(results));
|
|
3383
|
-
response = new CallResponse({
|
|
3384
|
-
results: results as CallMethodResultOptions[]
|
|
3385
|
-
});
|
|
3367
|
+
this.engine
|
|
3368
|
+
.call(context, request.methodsToCall)
|
|
3369
|
+
.then((results) => {
|
|
3370
|
+
const response = new CallResponse({ results });
|
|
3386
3371
|
filterDiagnosticInfo(request.requestHeader.returnDiagnostics, response);
|
|
3387
3372
|
sendResponse(response);
|
|
3388
|
-
}
|
|
3389
|
-
|
|
3373
|
+
})
|
|
3374
|
+
.catch((err) => {
|
|
3375
|
+
sendError(StatusCodes.BadInternalError);
|
|
3376
|
+
});
|
|
3390
3377
|
}
|
|
3391
3378
|
);
|
|
3392
3379
|
}
|
|
@@ -3534,7 +3521,7 @@ export class OPCUAServer extends OPCUABaseServer {
|
|
|
3534
3521
|
}
|
|
3535
3522
|
const hostname = getFullyQualifiedDomainName();
|
|
3536
3523
|
endpointOptions.hostname = endpointOptions.hostname || hostname;
|
|
3537
|
-
endpointOptions.port = endpointOptions.port === undefined ? 26543 : endpointOptions.port
|
|
3524
|
+
endpointOptions.port = endpointOptions.port === undefined ? 26543 : endpointOptions.port;
|
|
3538
3525
|
|
|
3539
3526
|
/* istanbul ignore next */
|
|
3540
3527
|
if (
|
|
@@ -3697,7 +3684,7 @@ export interface RaiseEventAuditActivateSessionEventData extends RaiseEventAudit
|
|
|
3697
3684
|
}
|
|
3698
3685
|
|
|
3699
3686
|
// tslint:disable:no-empty-interface
|
|
3700
|
-
export interface RaiseEventTransitionEventData extends RaiseEventData {
|
|
3687
|
+
export interface RaiseEventTransitionEventData extends RaiseEventData {}
|
|
3701
3688
|
|
|
3702
3689
|
export interface RaiseEventAuditUrlMismatchEventTypeData extends RaiseEventData {
|
|
3703
3690
|
endpointUrl: PseudoVariantString;
|
|
@@ -3727,7 +3714,7 @@ export interface RaiseAuditCertificateDataMismatchEventData extends RaiseAuditCe
|
|
|
3727
3714
|
*/
|
|
3728
3715
|
invalidUri: PseudoVariantString;
|
|
3729
3716
|
}
|
|
3730
|
-
export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {
|
|
3717
|
+
export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {}
|
|
3731
3718
|
/**
|
|
3732
3719
|
* This EventType inherits all Properties of the AuditCertificateEventType.
|
|
3733
3720
|
*
|
|
@@ -3739,7 +3726,7 @@ export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCerti
|
|
|
3739
3726
|
* There are no additional Properties defined for this EventType.
|
|
3740
3727
|
*
|
|
3741
3728
|
*/
|
|
3742
|
-
export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertificateEventData {
|
|
3729
|
+
export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertificateEventData {}
|
|
3743
3730
|
/**
|
|
3744
3731
|
* This EventType inherits all Properties of the AuditCertificateEventType.
|
|
3745
3732
|
*
|
|
@@ -3749,7 +3736,7 @@ export interface RaiseAuditCertificateExpiredEventData extends RaiseAuditCertifi
|
|
|
3749
3736
|
*
|
|
3750
3737
|
* There are no additional Properties defined for this EventType.
|
|
3751
3738
|
*/
|
|
3752
|
-
export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertificateEventData {
|
|
3739
|
+
export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertificateEventData {}
|
|
3753
3740
|
/**
|
|
3754
3741
|
* This EventType inherits all Properties of the AuditCertificateEventType.
|
|
3755
3742
|
*
|
|
@@ -3759,7 +3746,7 @@ export interface RaiseAuditCertificateInvalidEventData extends RaiseAuditCertifi
|
|
|
3759
3746
|
* If a trust chain is involved then the certificate that failed in the trust chain should be described.
|
|
3760
3747
|
* There are no additional Properties defined for this EventType.
|
|
3761
3748
|
*/
|
|
3762
|
-
export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {
|
|
3749
|
+
export interface RaiseAuditCertificateUntrustedEventData extends RaiseAuditCertificateEventData {}
|
|
3763
3750
|
/**
|
|
3764
3751
|
* This EventType inherits all Properties of the AuditCertificateEventType.
|
|
3765
3752
|
*
|
|
@@ -3782,7 +3769,7 @@ export interface RaiseAuditCertificateRevokedEventData extends RaiseAuditCertifi
|
|
|
3782
3769
|
*
|
|
3783
3770
|
* There are no additional Properties defined for this EventType
|
|
3784
3771
|
*/
|
|
3785
|
-
export interface RaiseAuditCertificateMismatchEventData extends RaiseAuditCertificateEventData {
|
|
3772
|
+
export interface RaiseAuditCertificateMismatchEventData extends RaiseAuditCertificateEventData {}
|
|
3786
3773
|
export interface OPCUAServer {
|
|
3787
3774
|
/**
|
|
3788
3775
|
* @internal
|