opcua-webapi-ts 1.0.28 → 1.1.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/cjs/client/UaClientConfigure.js +3 -3
- package/dist/cjs/client/UaWebClient.js +205 -25
- package/dist/cjs/client/base/UaWebClientApi.js +2 -0
- package/dist/cjs/client/base/UaWebClientNative.js +34 -0
- package/dist/cjs/client/base/index.js +18 -0
- package/dist/cjs/client/index.js +1 -0
- package/dist/cjs/common/types/UaRequestPatameters.js +1 -1
- package/dist/client/UaClientConfigure.js +3 -3
- package/dist/client/UaWebClient.d.ts +5 -5
- package/dist/client/UaWebClient.js +205 -25
- package/dist/client/base/UaWebClientApi.d.ts +11 -0
- package/dist/client/base/UaWebClientApi.js +2 -0
- package/dist/client/base/UaWebClientNative.d.ts +15 -0
- package/dist/client/base/UaWebClientNative.js +34 -0
- package/dist/client/base/index.d.ts +2 -0
- package/dist/client/base/index.js +18 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/common/types/UaRequestPatameters.js +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ exports.UaClientConfiguration = void 0;
|
|
|
4
4
|
class UaClientConfiguration {
|
|
5
5
|
constructor(apiConfig) {
|
|
6
6
|
this._apiConfig = apiConfig;
|
|
7
|
-
this._defaultTimeout =
|
|
7
|
+
this._defaultTimeout = 0;
|
|
8
8
|
}
|
|
9
9
|
get apiConfig() {
|
|
10
10
|
return this._apiConfig;
|
|
@@ -13,8 +13,8 @@ class UaClientConfiguration {
|
|
|
13
13
|
return this._defaultTimeout;
|
|
14
14
|
}
|
|
15
15
|
set defaultTimeout(timeout) {
|
|
16
|
-
if (timeout <
|
|
17
|
-
this._defaultTimeout =
|
|
16
|
+
if (timeout < 1000) {
|
|
17
|
+
this._defaultTimeout = 0;
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
20
|
this._defaultTimeout = timeout;
|
|
@@ -12,19 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.UaWebClient = void 0;
|
|
13
13
|
const opcua_webapi_1 = require("opcua-webapi");
|
|
14
14
|
const common_1 = require("../common");
|
|
15
|
+
const __1 = require("..");
|
|
15
16
|
const common_2 = require("../common");
|
|
16
17
|
class UaWebClient {
|
|
17
18
|
constructor(clientConfig) {
|
|
18
|
-
this.api = new opcua_webapi_1.DefaultApi(clientConfig.apiConfig);
|
|
19
19
|
this.clientConfig = clientConfig;
|
|
20
|
+
this.api = this.createApi();
|
|
20
21
|
this.requestHandle = 1;
|
|
21
22
|
}
|
|
22
23
|
getUrl() {
|
|
23
24
|
return this.clientConfig.apiConfig.basePath;
|
|
24
25
|
}
|
|
25
|
-
getNativeApi() {
|
|
26
|
-
return this.api;
|
|
27
|
-
}
|
|
28
26
|
find(applicationUris) {
|
|
29
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
28
|
let results = yield this.findServer(this.clientConfig.apiConfig.basePath, (applicationUris) ? applicationUris : []);
|
|
@@ -360,12 +358,34 @@ class UaWebClient {
|
|
|
360
358
|
NodesToBrowse.push(item.toStruct());
|
|
361
359
|
}
|
|
362
360
|
let request = (0, opcua_webapi_1.BrowseRequestFromJSON)({
|
|
363
|
-
RequestHeader: this.requestHeader(
|
|
361
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
364
362
|
NodesToBrowse: NodesToBrowse,
|
|
365
363
|
RequestedMaxReferencesPerNode: (maxReferencesPerNode && maxReferencesPerNode > 0) ? maxReferencesPerNode : undefined,
|
|
366
364
|
View: view
|
|
367
365
|
});
|
|
368
|
-
let
|
|
366
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
367
|
+
let response;
|
|
368
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
369
|
+
let controller = new AbortController();
|
|
370
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
371
|
+
try {
|
|
372
|
+
response = yield this.api.browse(request, { signal: controller.signal });
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
376
|
+
}
|
|
377
|
+
finally {
|
|
378
|
+
clearTimeout(timeoutId);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
try {
|
|
383
|
+
response = yield this.api.browse(request);
|
|
384
|
+
}
|
|
385
|
+
catch (error) {
|
|
386
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
387
|
+
}
|
|
388
|
+
}
|
|
369
389
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
370
390
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
371
391
|
if (!response.Results || nodesToBrowse.length != response.Results.length)
|
|
@@ -388,11 +408,33 @@ class UaWebClient {
|
|
|
388
408
|
if (continuationPoints.length == 0)
|
|
389
409
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadNothingToDo));
|
|
390
410
|
let request = (0, opcua_webapi_1.BrowseNextRequestFromJSON)({
|
|
391
|
-
RequestHeader: this.requestHeader(
|
|
411
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
392
412
|
ContinuationPoints: continuationPoints,
|
|
393
413
|
ReleaseContinuationPoints: releaseContinuationPoints
|
|
394
414
|
});
|
|
395
|
-
let
|
|
415
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
416
|
+
let response;
|
|
417
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
418
|
+
let controller = new AbortController();
|
|
419
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
420
|
+
try {
|
|
421
|
+
response = yield this.api.browseNext(request, { signal: controller.signal });
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
425
|
+
}
|
|
426
|
+
finally {
|
|
427
|
+
clearTimeout(timeoutId);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
try {
|
|
432
|
+
response = yield this.api.browseNext(request);
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
436
|
+
}
|
|
437
|
+
}
|
|
396
438
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
397
439
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
398
440
|
if (!response.Results || continuationPoints.length != response.Results.length)
|
|
@@ -417,14 +459,36 @@ class UaWebClient {
|
|
|
417
459
|
NodesToRead.push(item.toStruct());
|
|
418
460
|
}
|
|
419
461
|
let request = (0, opcua_webapi_1.ReadRequestFromJSON)({
|
|
420
|
-
RequestHeader: this.requestHeader(
|
|
462
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
421
463
|
NodesToRead: NodesToRead,
|
|
422
464
|
MaxAge: (maxAge && maxAge > 0) ? maxAge : undefined,
|
|
423
465
|
TimestampsToReturn: (timestampsToReturn &&
|
|
424
466
|
timestampsToReturn >= opcua_webapi_1.TimestampsToReturn.Source &&
|
|
425
467
|
timestampsToReturn < opcua_webapi_1.TimestampsToReturn.Invalid) ? timestampsToReturn : opcua_webapi_1.TimestampsToReturn.Neither
|
|
426
468
|
});
|
|
427
|
-
let
|
|
469
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
470
|
+
let response;
|
|
471
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
472
|
+
let controller = new AbortController();
|
|
473
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
474
|
+
try {
|
|
475
|
+
response = yield this.api.read(request, { signal: controller.signal });
|
|
476
|
+
}
|
|
477
|
+
catch (error) {
|
|
478
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
479
|
+
}
|
|
480
|
+
finally {
|
|
481
|
+
clearTimeout(timeoutId);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
try {
|
|
486
|
+
response = yield this.api.read(request);
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
490
|
+
}
|
|
491
|
+
}
|
|
428
492
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
429
493
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
430
494
|
if (!response.Results || nodesToRead.length != response.Results.length)
|
|
@@ -447,10 +511,32 @@ class UaWebClient {
|
|
|
447
511
|
NodesToWrite.push(item.toStruct());
|
|
448
512
|
}
|
|
449
513
|
let request = (0, opcua_webapi_1.WriteRequestFromJSON)({
|
|
450
|
-
RequestHeader: this.requestHeader(
|
|
514
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
451
515
|
NodesToWrite: NodesToWrite
|
|
452
516
|
});
|
|
453
|
-
let
|
|
517
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
518
|
+
let response;
|
|
519
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
520
|
+
let controller = new AbortController();
|
|
521
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
522
|
+
try {
|
|
523
|
+
response = yield this.api.write(request, { signal: controller.signal });
|
|
524
|
+
}
|
|
525
|
+
catch (error) {
|
|
526
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
527
|
+
}
|
|
528
|
+
finally {
|
|
529
|
+
clearTimeout(timeoutId);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
try {
|
|
534
|
+
response = yield this.api.write(request);
|
|
535
|
+
}
|
|
536
|
+
catch (error) {
|
|
537
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
538
|
+
}
|
|
539
|
+
}
|
|
454
540
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
455
541
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
456
542
|
if (!response.Results || nodesToWrite.length != response.Results.length)
|
|
@@ -473,10 +559,32 @@ class UaWebClient {
|
|
|
473
559
|
MethodsToCall.push(item.toStruct());
|
|
474
560
|
}
|
|
475
561
|
let request = (0, opcua_webapi_1.CallRequestFromJSON)({
|
|
476
|
-
RequestHeader: this.requestHeader(
|
|
562
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
477
563
|
MethodsToCall: MethodsToCall
|
|
478
564
|
});
|
|
479
|
-
let
|
|
565
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
566
|
+
let response;
|
|
567
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
568
|
+
let controller = new AbortController();
|
|
569
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
570
|
+
try {
|
|
571
|
+
response = yield this.api.call(request, { signal: controller.signal });
|
|
572
|
+
}
|
|
573
|
+
catch (error) {
|
|
574
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
575
|
+
}
|
|
576
|
+
finally {
|
|
577
|
+
clearTimeout(timeoutId);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
try {
|
|
582
|
+
response = yield this.api.call(request);
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
586
|
+
}
|
|
587
|
+
}
|
|
480
588
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
481
589
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
482
590
|
if (!response.Results || methodsToCall.length != response.Results.length)
|
|
@@ -501,7 +609,7 @@ class UaWebClient {
|
|
|
501
609
|
NodesToRead.push(item.toStruct());
|
|
502
610
|
}
|
|
503
611
|
let request = (0, opcua_webapi_1.HistoryReadRequestFromJSON)({
|
|
504
|
-
RequestHeader: this.requestHeader(
|
|
612
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
505
613
|
HistoryReadDetails: common_1.UaPayloadMapper.extensionObjectToWebApi(historyReadDetails),
|
|
506
614
|
TimestampsToReturn: (timestampsToReturn &&
|
|
507
615
|
timestampsToReturn >= opcua_webapi_1.TimestampsToReturn.Source &&
|
|
@@ -509,7 +617,29 @@ class UaWebClient {
|
|
|
509
617
|
ReleaseContinuationPoints: releaseContinuationPoints,
|
|
510
618
|
NodesToRead: NodesToRead
|
|
511
619
|
});
|
|
512
|
-
let
|
|
620
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
621
|
+
let response;
|
|
622
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
623
|
+
let controller = new AbortController();
|
|
624
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
625
|
+
try {
|
|
626
|
+
response = yield this.api.historyRead(request, { signal: controller.signal });
|
|
627
|
+
}
|
|
628
|
+
catch (error) {
|
|
629
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
630
|
+
}
|
|
631
|
+
finally {
|
|
632
|
+
clearTimeout(timeoutId);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
else {
|
|
636
|
+
try {
|
|
637
|
+
response = yield this.api.historyRead(request);
|
|
638
|
+
}
|
|
639
|
+
catch (error) {
|
|
640
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
641
|
+
}
|
|
642
|
+
}
|
|
513
643
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
514
644
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
515
645
|
if (!response.Results || nodesToRead.length != response.Results.length)
|
|
@@ -528,12 +658,34 @@ class UaWebClient {
|
|
|
528
658
|
return __awaiter(this, void 0, void 0, function* () {
|
|
529
659
|
var _a, _b;
|
|
530
660
|
let request = (0, opcua_webapi_1.FindServersRequestFromJSON)({
|
|
531
|
-
RequestHeader: this.requestHeader(
|
|
661
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
532
662
|
ServerUris: serverUris,
|
|
533
663
|
EndpointUrl: endpointUrl,
|
|
534
664
|
LocaleIds: localeIds
|
|
535
665
|
});
|
|
536
|
-
let
|
|
666
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
667
|
+
let response;
|
|
668
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
669
|
+
let controller = new AbortController();
|
|
670
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
671
|
+
try {
|
|
672
|
+
response = yield this.api.findServers(request, { signal: controller.signal });
|
|
673
|
+
}
|
|
674
|
+
catch (error) {
|
|
675
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
676
|
+
}
|
|
677
|
+
finally {
|
|
678
|
+
clearTimeout(timeoutId);
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
else {
|
|
682
|
+
try {
|
|
683
|
+
response = yield this.api.findServers(request);
|
|
684
|
+
}
|
|
685
|
+
catch (error) {
|
|
686
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
687
|
+
}
|
|
688
|
+
}
|
|
537
689
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
538
690
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
539
691
|
if (!response.Servers)
|
|
@@ -545,12 +697,34 @@ class UaWebClient {
|
|
|
545
697
|
return __awaiter(this, void 0, void 0, function* () {
|
|
546
698
|
var _a, _b;
|
|
547
699
|
let request = (0, opcua_webapi_1.GetEndpointsRequestFromJSON)({
|
|
548
|
-
RequestHeader: this.requestHeader(
|
|
700
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
549
701
|
EndpointUrl: endpointUrl,
|
|
550
702
|
LocaleIds: localeIds,
|
|
551
703
|
ProfileUris: profileUris
|
|
552
704
|
});
|
|
553
|
-
let
|
|
705
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
706
|
+
let response;
|
|
707
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
708
|
+
let controller = new AbortController();
|
|
709
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
710
|
+
try {
|
|
711
|
+
response = yield this.api.getEndpoints(request, { signal: controller.signal });
|
|
712
|
+
}
|
|
713
|
+
catch (error) {
|
|
714
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
715
|
+
}
|
|
716
|
+
finally {
|
|
717
|
+
clearTimeout(timeoutId);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
try {
|
|
722
|
+
response = yield this.api.getEndpoints(request);
|
|
723
|
+
}
|
|
724
|
+
catch (error) {
|
|
725
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
726
|
+
}
|
|
727
|
+
}
|
|
554
728
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
555
729
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
556
730
|
if (!response.Endpoints)
|
|
@@ -558,15 +732,12 @@ class UaWebClient {
|
|
|
558
732
|
return response.Endpoints;
|
|
559
733
|
});
|
|
560
734
|
}
|
|
561
|
-
requestHeader(
|
|
562
|
-
let timeout =
|
|
563
|
-
if (additionalParameters && additionalParameters.timeout)
|
|
564
|
-
timeout = additionalParameters.timeout;
|
|
735
|
+
requestHeader(additionalParameters) {
|
|
736
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
565
737
|
let ret = {
|
|
566
738
|
RequestHandle: this.requestHandle,
|
|
567
739
|
TimeoutHint: timeout,
|
|
568
740
|
Timestamp: new Date(),
|
|
569
|
-
AuthenticationToken: this.authenticationToken,
|
|
570
741
|
ReturnDiagnostics: (additionalParameters) ? additionalParameters.returnDiagnostics : undefined,
|
|
571
742
|
AuditEntryId: (additionalParameters) ? additionalParameters.auditEntryId : undefined,
|
|
572
743
|
};
|
|
@@ -575,5 +746,14 @@ class UaWebClient {
|
|
|
575
746
|
this.requestHandle = 1;
|
|
576
747
|
return ret;
|
|
577
748
|
}
|
|
749
|
+
requestTimeout(additionalParameters) {
|
|
750
|
+
let timeout = this.clientConfig.defaultTimeout;
|
|
751
|
+
if (additionalParameters && additionalParameters.timeout > 1000)
|
|
752
|
+
timeout = additionalParameters.timeout;
|
|
753
|
+
return timeout;
|
|
754
|
+
}
|
|
755
|
+
createApi() {
|
|
756
|
+
return new __1.UaWebClientNative(this.clientConfig.apiConfig);
|
|
757
|
+
}
|
|
578
758
|
}
|
|
579
759
|
exports.UaWebClient = UaWebClient;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UaWebClientNative = void 0;
|
|
4
|
+
const opcua_webapi_1 = require("opcua-webapi");
|
|
5
|
+
class UaWebClientNative {
|
|
6
|
+
constructor(configure) {
|
|
7
|
+
this.api = new opcua_webapi_1.DefaultApi(configure);
|
|
8
|
+
}
|
|
9
|
+
browse(request, initOverrides) {
|
|
10
|
+
return this.api.browse({ browseRequest: request }, initOverrides);
|
|
11
|
+
}
|
|
12
|
+
browseNext(request, initOverrides) {
|
|
13
|
+
return this.api.browseNext({ browseNextRequest: request }, initOverrides);
|
|
14
|
+
}
|
|
15
|
+
call(request, initOverrides) {
|
|
16
|
+
return this.api.call({ callRequest: request }, initOverrides);
|
|
17
|
+
}
|
|
18
|
+
findServers(request, initOverrides) {
|
|
19
|
+
return this.api.findServers({ findServersRequest: request }, initOverrides);
|
|
20
|
+
}
|
|
21
|
+
getEndpoints(request, initOverrides) {
|
|
22
|
+
return this.api.getEndpoints({ getEndpointsRequest: request }, initOverrides);
|
|
23
|
+
}
|
|
24
|
+
historyRead(request, initOverrides) {
|
|
25
|
+
return this.api.historyRead({ historyReadRequest: request }, initOverrides);
|
|
26
|
+
}
|
|
27
|
+
read(request, initOverrides) {
|
|
28
|
+
return this.api.read({ readRequest: request }, initOverrides);
|
|
29
|
+
}
|
|
30
|
+
write(request, initOverrides) {
|
|
31
|
+
return this.api.write({ writeRequest: request }, initOverrides);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.UaWebClientNative = UaWebClientNative;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./UaWebClientApi"), exports);
|
|
18
|
+
__exportStar(require("./UaWebClientNative"), exports);
|
package/dist/cjs/client/index.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.UaClientConfiguration = void 0;
|
|
|
4
4
|
class UaClientConfiguration {
|
|
5
5
|
constructor(apiConfig) {
|
|
6
6
|
this._apiConfig = apiConfig;
|
|
7
|
-
this._defaultTimeout =
|
|
7
|
+
this._defaultTimeout = 0;
|
|
8
8
|
}
|
|
9
9
|
get apiConfig() {
|
|
10
10
|
return this._apiConfig;
|
|
@@ -13,8 +13,8 @@ class UaClientConfiguration {
|
|
|
13
13
|
return this._defaultTimeout;
|
|
14
14
|
}
|
|
15
15
|
set defaultTimeout(timeout) {
|
|
16
|
-
if (timeout <
|
|
17
|
-
this._defaultTimeout =
|
|
16
|
+
if (timeout < 1000) {
|
|
17
|
+
this._defaultTimeout = 0;
|
|
18
18
|
}
|
|
19
19
|
else {
|
|
20
20
|
this._defaultTimeout = timeout;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ViewDescription, RequestHeader, ApplicationDescription, BrowseDirection, EndpointDescription } from "opcua-webapi";
|
|
2
2
|
import { UaBrowseResult, UaNodeAttributes, UaVariableAttributes, UaNodeId, UaDataValue, UaVariant, UaStatusCode, UaExtensionObject, UaHistoryDataResult, UaQuery, UaObjectAttributes, UaMethodArguments, UaApplicationDescriptor, UaBrowseDescription, UaReadValueId, UaWriteValue, UaHistoryReadValueId, UaHistoryReadResult } from "../common";
|
|
3
|
-
import { UaClientConfiguration, UaClientParameters } from "..";
|
|
3
|
+
import { UaClientConfiguration, UaClientParameters, UaWebClientApi } from "..";
|
|
4
4
|
import { UaHistoryEventResult, UaCallMethodRequest, UaCallMethodResult } from "../common";
|
|
5
5
|
export declare class UaWebClient {
|
|
6
6
|
private api;
|
|
7
7
|
private clientConfig;
|
|
8
8
|
private requestHandle;
|
|
9
|
-
protected authenticationToken: string | undefined;
|
|
10
9
|
constructor(clientConfig: UaClientConfiguration);
|
|
11
10
|
getUrl(): string;
|
|
12
|
-
getNativeApi(): DefaultApi;
|
|
13
11
|
find(applicationUris?: Array<string>): Promise<Array<UaApplicationDescriptor>>;
|
|
14
12
|
browseChild(nodeId: UaNodeId, nodeClass?: number, maxReferences?: number): Promise<UaBrowseResult>;
|
|
15
13
|
browseReference(nodeId: UaNodeId, nodeClass?: number, direction?: BrowseDirection, referenceTypeId?: UaNodeId, maxReferences?: number): Promise<UaBrowseResult>;
|
|
@@ -33,5 +31,7 @@ export declare class UaWebClient {
|
|
|
33
31
|
historyRead(nodesToRead: Array<UaHistoryReadValueId>, historyReadDetails: UaExtensionObject, timestampsToReturn?: number, releaseContinuationPoints?: boolean, additionalParameters?: UaClientParameters): Promise<Array<UaHistoryReadResult>>;
|
|
34
32
|
findServer(endpointUrl: string, serverUris: Array<string>, localeIds?: Array<string>, additionalParameters?: UaClientParameters): Promise<Array<ApplicationDescription>>;
|
|
35
33
|
getEndpoints(endpointUrl?: string, localeIds?: Array<string>, profileUris?: Array<string>, additionalParameters?: UaClientParameters): Promise<Array<EndpointDescription>>;
|
|
36
|
-
|
|
34
|
+
protected requestHeader(additionalParameters?: UaClientParameters): RequestHeader;
|
|
35
|
+
protected requestTimeout(additionalParameters?: UaClientParameters): number;
|
|
36
|
+
protected createApi(): UaWebClientApi;
|
|
37
37
|
}
|
|
@@ -12,19 +12,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.UaWebClient = void 0;
|
|
13
13
|
const opcua_webapi_1 = require("opcua-webapi");
|
|
14
14
|
const common_1 = require("../common");
|
|
15
|
+
const __1 = require("..");
|
|
15
16
|
const common_2 = require("../common");
|
|
16
17
|
class UaWebClient {
|
|
17
18
|
constructor(clientConfig) {
|
|
18
|
-
this.api = new opcua_webapi_1.DefaultApi(clientConfig.apiConfig);
|
|
19
19
|
this.clientConfig = clientConfig;
|
|
20
|
+
this.api = this.createApi();
|
|
20
21
|
this.requestHandle = 1;
|
|
21
22
|
}
|
|
22
23
|
getUrl() {
|
|
23
24
|
return this.clientConfig.apiConfig.basePath;
|
|
24
25
|
}
|
|
25
|
-
getNativeApi() {
|
|
26
|
-
return this.api;
|
|
27
|
-
}
|
|
28
26
|
find(applicationUris) {
|
|
29
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
30
28
|
let results = yield this.findServer(this.clientConfig.apiConfig.basePath, (applicationUris) ? applicationUris : []);
|
|
@@ -360,12 +358,34 @@ class UaWebClient {
|
|
|
360
358
|
NodesToBrowse.push(item.toStruct());
|
|
361
359
|
}
|
|
362
360
|
let request = (0, opcua_webapi_1.BrowseRequestFromJSON)({
|
|
363
|
-
RequestHeader: this.requestHeader(
|
|
361
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
364
362
|
NodesToBrowse: NodesToBrowse,
|
|
365
363
|
RequestedMaxReferencesPerNode: (maxReferencesPerNode && maxReferencesPerNode > 0) ? maxReferencesPerNode : undefined,
|
|
366
364
|
View: view
|
|
367
365
|
});
|
|
368
|
-
let
|
|
366
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
367
|
+
let response;
|
|
368
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
369
|
+
let controller = new AbortController();
|
|
370
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
371
|
+
try {
|
|
372
|
+
response = yield this.api.browse(request, { signal: controller.signal });
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
376
|
+
}
|
|
377
|
+
finally {
|
|
378
|
+
clearTimeout(timeoutId);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
try {
|
|
383
|
+
response = yield this.api.browse(request);
|
|
384
|
+
}
|
|
385
|
+
catch (error) {
|
|
386
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
387
|
+
}
|
|
388
|
+
}
|
|
369
389
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
370
390
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
371
391
|
if (!response.Results || nodesToBrowse.length != response.Results.length)
|
|
@@ -388,11 +408,33 @@ class UaWebClient {
|
|
|
388
408
|
if (continuationPoints.length == 0)
|
|
389
409
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadNothingToDo));
|
|
390
410
|
let request = (0, opcua_webapi_1.BrowseNextRequestFromJSON)({
|
|
391
|
-
RequestHeader: this.requestHeader(
|
|
411
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
392
412
|
ContinuationPoints: continuationPoints,
|
|
393
413
|
ReleaseContinuationPoints: releaseContinuationPoints
|
|
394
414
|
});
|
|
395
|
-
let
|
|
415
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
416
|
+
let response;
|
|
417
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
418
|
+
let controller = new AbortController();
|
|
419
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
420
|
+
try {
|
|
421
|
+
response = yield this.api.browseNext(request, { signal: controller.signal });
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
425
|
+
}
|
|
426
|
+
finally {
|
|
427
|
+
clearTimeout(timeoutId);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
else {
|
|
431
|
+
try {
|
|
432
|
+
response = yield this.api.browseNext(request);
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
436
|
+
}
|
|
437
|
+
}
|
|
396
438
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
397
439
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
398
440
|
if (!response.Results || continuationPoints.length != response.Results.length)
|
|
@@ -417,14 +459,36 @@ class UaWebClient {
|
|
|
417
459
|
NodesToRead.push(item.toStruct());
|
|
418
460
|
}
|
|
419
461
|
let request = (0, opcua_webapi_1.ReadRequestFromJSON)({
|
|
420
|
-
RequestHeader: this.requestHeader(
|
|
462
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
421
463
|
NodesToRead: NodesToRead,
|
|
422
464
|
MaxAge: (maxAge && maxAge > 0) ? maxAge : undefined,
|
|
423
465
|
TimestampsToReturn: (timestampsToReturn &&
|
|
424
466
|
timestampsToReturn >= opcua_webapi_1.TimestampsToReturn.Source &&
|
|
425
467
|
timestampsToReturn < opcua_webapi_1.TimestampsToReturn.Invalid) ? timestampsToReturn : opcua_webapi_1.TimestampsToReturn.Neither
|
|
426
468
|
});
|
|
427
|
-
let
|
|
469
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
470
|
+
let response;
|
|
471
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
472
|
+
let controller = new AbortController();
|
|
473
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
474
|
+
try {
|
|
475
|
+
response = yield this.api.read(request, { signal: controller.signal });
|
|
476
|
+
}
|
|
477
|
+
catch (error) {
|
|
478
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
479
|
+
}
|
|
480
|
+
finally {
|
|
481
|
+
clearTimeout(timeoutId);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
try {
|
|
486
|
+
response = yield this.api.read(request);
|
|
487
|
+
}
|
|
488
|
+
catch (error) {
|
|
489
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
490
|
+
}
|
|
491
|
+
}
|
|
428
492
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
429
493
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
430
494
|
if (!response.Results || nodesToRead.length != response.Results.length)
|
|
@@ -447,10 +511,32 @@ class UaWebClient {
|
|
|
447
511
|
NodesToWrite.push(item.toStruct());
|
|
448
512
|
}
|
|
449
513
|
let request = (0, opcua_webapi_1.WriteRequestFromJSON)({
|
|
450
|
-
RequestHeader: this.requestHeader(
|
|
514
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
451
515
|
NodesToWrite: NodesToWrite
|
|
452
516
|
});
|
|
453
|
-
let
|
|
517
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
518
|
+
let response;
|
|
519
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
520
|
+
let controller = new AbortController();
|
|
521
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
522
|
+
try {
|
|
523
|
+
response = yield this.api.write(request, { signal: controller.signal });
|
|
524
|
+
}
|
|
525
|
+
catch (error) {
|
|
526
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
527
|
+
}
|
|
528
|
+
finally {
|
|
529
|
+
clearTimeout(timeoutId);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
try {
|
|
534
|
+
response = yield this.api.write(request);
|
|
535
|
+
}
|
|
536
|
+
catch (error) {
|
|
537
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
538
|
+
}
|
|
539
|
+
}
|
|
454
540
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
455
541
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
456
542
|
if (!response.Results || nodesToWrite.length != response.Results.length)
|
|
@@ -473,10 +559,32 @@ class UaWebClient {
|
|
|
473
559
|
MethodsToCall.push(item.toStruct());
|
|
474
560
|
}
|
|
475
561
|
let request = (0, opcua_webapi_1.CallRequestFromJSON)({
|
|
476
|
-
RequestHeader: this.requestHeader(
|
|
562
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
477
563
|
MethodsToCall: MethodsToCall
|
|
478
564
|
});
|
|
479
|
-
let
|
|
565
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
566
|
+
let response;
|
|
567
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
568
|
+
let controller = new AbortController();
|
|
569
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
570
|
+
try {
|
|
571
|
+
response = yield this.api.call(request, { signal: controller.signal });
|
|
572
|
+
}
|
|
573
|
+
catch (error) {
|
|
574
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
575
|
+
}
|
|
576
|
+
finally {
|
|
577
|
+
clearTimeout(timeoutId);
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
else {
|
|
581
|
+
try {
|
|
582
|
+
response = yield this.api.call(request);
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
586
|
+
}
|
|
587
|
+
}
|
|
480
588
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
481
589
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
482
590
|
if (!response.Results || methodsToCall.length != response.Results.length)
|
|
@@ -501,7 +609,7 @@ class UaWebClient {
|
|
|
501
609
|
NodesToRead.push(item.toStruct());
|
|
502
610
|
}
|
|
503
611
|
let request = (0, opcua_webapi_1.HistoryReadRequestFromJSON)({
|
|
504
|
-
RequestHeader: this.requestHeader(
|
|
612
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
505
613
|
HistoryReadDetails: common_1.UaPayloadMapper.extensionObjectToWebApi(historyReadDetails),
|
|
506
614
|
TimestampsToReturn: (timestampsToReturn &&
|
|
507
615
|
timestampsToReturn >= opcua_webapi_1.TimestampsToReturn.Source &&
|
|
@@ -509,7 +617,29 @@ class UaWebClient {
|
|
|
509
617
|
ReleaseContinuationPoints: releaseContinuationPoints,
|
|
510
618
|
NodesToRead: NodesToRead
|
|
511
619
|
});
|
|
512
|
-
let
|
|
620
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
621
|
+
let response;
|
|
622
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
623
|
+
let controller = new AbortController();
|
|
624
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
625
|
+
try {
|
|
626
|
+
response = yield this.api.historyRead(request, { signal: controller.signal });
|
|
627
|
+
}
|
|
628
|
+
catch (error) {
|
|
629
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
630
|
+
}
|
|
631
|
+
finally {
|
|
632
|
+
clearTimeout(timeoutId);
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
else {
|
|
636
|
+
try {
|
|
637
|
+
response = yield this.api.historyRead(request);
|
|
638
|
+
}
|
|
639
|
+
catch (error) {
|
|
640
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
641
|
+
}
|
|
642
|
+
}
|
|
513
643
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
514
644
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
515
645
|
if (!response.Results || nodesToRead.length != response.Results.length)
|
|
@@ -528,12 +658,34 @@ class UaWebClient {
|
|
|
528
658
|
return __awaiter(this, void 0, void 0, function* () {
|
|
529
659
|
var _a, _b;
|
|
530
660
|
let request = (0, opcua_webapi_1.FindServersRequestFromJSON)({
|
|
531
|
-
RequestHeader: this.requestHeader(
|
|
661
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
532
662
|
ServerUris: serverUris,
|
|
533
663
|
EndpointUrl: endpointUrl,
|
|
534
664
|
LocaleIds: localeIds
|
|
535
665
|
});
|
|
536
|
-
let
|
|
666
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
667
|
+
let response;
|
|
668
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
669
|
+
let controller = new AbortController();
|
|
670
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
671
|
+
try {
|
|
672
|
+
response = yield this.api.findServers(request, { signal: controller.signal });
|
|
673
|
+
}
|
|
674
|
+
catch (error) {
|
|
675
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
676
|
+
}
|
|
677
|
+
finally {
|
|
678
|
+
clearTimeout(timeoutId);
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
else {
|
|
682
|
+
try {
|
|
683
|
+
response = yield this.api.findServers(request);
|
|
684
|
+
}
|
|
685
|
+
catch (error) {
|
|
686
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
687
|
+
}
|
|
688
|
+
}
|
|
537
689
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
538
690
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
539
691
|
if (!response.Servers)
|
|
@@ -545,12 +697,34 @@ class UaWebClient {
|
|
|
545
697
|
return __awaiter(this, void 0, void 0, function* () {
|
|
546
698
|
var _a, _b;
|
|
547
699
|
let request = (0, opcua_webapi_1.GetEndpointsRequestFromJSON)({
|
|
548
|
-
RequestHeader: this.requestHeader(
|
|
700
|
+
RequestHeader: this.requestHeader(additionalParameters),
|
|
549
701
|
EndpointUrl: endpointUrl,
|
|
550
702
|
LocaleIds: localeIds,
|
|
551
703
|
ProfileUris: profileUris
|
|
552
704
|
});
|
|
553
|
-
let
|
|
705
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
706
|
+
let response;
|
|
707
|
+
if (timeout > 0 && typeof AbortController !== "undefined") {
|
|
708
|
+
let controller = new AbortController();
|
|
709
|
+
let timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
710
|
+
try {
|
|
711
|
+
response = yield this.api.getEndpoints(request, { signal: controller.signal });
|
|
712
|
+
}
|
|
713
|
+
catch (error) {
|
|
714
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
715
|
+
}
|
|
716
|
+
finally {
|
|
717
|
+
clearTimeout(timeoutId);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
try {
|
|
722
|
+
response = yield this.api.getEndpoints(request);
|
|
723
|
+
}
|
|
724
|
+
catch (error) {
|
|
725
|
+
throw new common_1.UaError((0, common_1.makeUaStatusCode)(opcua_webapi_1.StatusCodes.BadCommunicationError));
|
|
726
|
+
}
|
|
727
|
+
}
|
|
554
728
|
if ((_b = (_a = response === null || response === void 0 ? void 0 : response.ResponseHeader) === null || _a === void 0 ? void 0 : _a.ServiceResult) === null || _b === void 0 ? void 0 : _b.Code)
|
|
555
729
|
throw new common_1.UaError((0, common_1.makeUaStatusCode)(response.ResponseHeader.ServiceResult.Code));
|
|
556
730
|
if (!response.Endpoints)
|
|
@@ -558,15 +732,12 @@ class UaWebClient {
|
|
|
558
732
|
return response.Endpoints;
|
|
559
733
|
});
|
|
560
734
|
}
|
|
561
|
-
requestHeader(
|
|
562
|
-
let timeout =
|
|
563
|
-
if (additionalParameters && additionalParameters.timeout)
|
|
564
|
-
timeout = additionalParameters.timeout;
|
|
735
|
+
requestHeader(additionalParameters) {
|
|
736
|
+
let timeout = this.requestTimeout(additionalParameters);
|
|
565
737
|
let ret = {
|
|
566
738
|
RequestHandle: this.requestHandle,
|
|
567
739
|
TimeoutHint: timeout,
|
|
568
740
|
Timestamp: new Date(),
|
|
569
|
-
AuthenticationToken: this.authenticationToken,
|
|
570
741
|
ReturnDiagnostics: (additionalParameters) ? additionalParameters.returnDiagnostics : undefined,
|
|
571
742
|
AuditEntryId: (additionalParameters) ? additionalParameters.auditEntryId : undefined,
|
|
572
743
|
};
|
|
@@ -575,5 +746,14 @@ class UaWebClient {
|
|
|
575
746
|
this.requestHandle = 1;
|
|
576
747
|
return ret;
|
|
577
748
|
}
|
|
749
|
+
requestTimeout(additionalParameters) {
|
|
750
|
+
let timeout = this.clientConfig.defaultTimeout;
|
|
751
|
+
if (additionalParameters && additionalParameters.timeout > 1000)
|
|
752
|
+
timeout = additionalParameters.timeout;
|
|
753
|
+
return timeout;
|
|
754
|
+
}
|
|
755
|
+
createApi() {
|
|
756
|
+
return new __1.UaWebClientNative(this.clientConfig.apiConfig);
|
|
757
|
+
}
|
|
578
758
|
}
|
|
579
759
|
exports.UaWebClient = UaWebClient;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BrowseNextRequest, BrowseNextResponse, BrowseRequest, BrowseResponse, CallRequest, CallResponse, FindServersRequest, FindServersResponse, GetEndpointsRequest, GetEndpointsResponse, HistoryReadRequest, HistoryReadResponse, ReadRequest, ReadResponse, WriteRequest, WriteResponse } from "opcua-webapi";
|
|
2
|
+
export interface UaWebClientApi {
|
|
3
|
+
browse(request: BrowseRequest, initOverrides?: RequestInit): Promise<BrowseResponse>;
|
|
4
|
+
browseNext(request: BrowseNextRequest, initOverrides?: RequestInit): Promise<BrowseNextResponse>;
|
|
5
|
+
call(request: CallRequest, initOverrides?: RequestInit): Promise<CallResponse>;
|
|
6
|
+
findServers(request: FindServersRequest, initOverrides?: RequestInit): Promise<FindServersResponse>;
|
|
7
|
+
getEndpoints(request: GetEndpointsRequest, initOverrides?: RequestInit): Promise<GetEndpointsResponse>;
|
|
8
|
+
historyRead(request: HistoryReadRequest, initOverrides?: RequestInit): Promise<HistoryReadResponse>;
|
|
9
|
+
read(request: ReadRequest, initOverrides?: RequestInit): Promise<ReadResponse>;
|
|
10
|
+
write(request: WriteRequest, initOverrides?: RequestInit): Promise<WriteResponse>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Configuration } from "opcua-webapi";
|
|
2
|
+
import { UaWebClientApi } from "./UaWebClientApi";
|
|
3
|
+
import { BrowseNextRequest, BrowseNextResponse, BrowseRequest, BrowseResponse, CallRequest, CallResponse, FindServersRequest, FindServersResponse, GetEndpointsRequest, GetEndpointsResponse, HistoryReadRequest, HistoryReadResponse, ReadRequest, ReadResponse, WriteRequest, WriteResponse } from "opcua-webapi";
|
|
4
|
+
export declare class UaWebClientNative implements UaWebClientApi {
|
|
5
|
+
private api;
|
|
6
|
+
constructor(configure: Configuration);
|
|
7
|
+
browse(request: BrowseRequest, initOverrides?: RequestInit): Promise<BrowseResponse>;
|
|
8
|
+
browseNext(request: BrowseNextRequest, initOverrides?: RequestInit): Promise<BrowseNextResponse>;
|
|
9
|
+
call(request: CallRequest, initOverrides?: RequestInit): Promise<CallResponse>;
|
|
10
|
+
findServers(request: FindServersRequest, initOverrides?: RequestInit): Promise<FindServersResponse>;
|
|
11
|
+
getEndpoints(request: GetEndpointsRequest, initOverrides?: RequestInit): Promise<GetEndpointsResponse>;
|
|
12
|
+
historyRead(request: HistoryReadRequest, initOverrides?: RequestInit): Promise<HistoryReadResponse>;
|
|
13
|
+
read(request: ReadRequest, initOverrides?: RequestInit): Promise<ReadResponse>;
|
|
14
|
+
write(request: WriteRequest, initOverrides?: RequestInit): Promise<WriteResponse>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UaWebClientNative = void 0;
|
|
4
|
+
const opcua_webapi_1 = require("opcua-webapi");
|
|
5
|
+
class UaWebClientNative {
|
|
6
|
+
constructor(configure) {
|
|
7
|
+
this.api = new opcua_webapi_1.DefaultApi(configure);
|
|
8
|
+
}
|
|
9
|
+
browse(request, initOverrides) {
|
|
10
|
+
return this.api.browse({ browseRequest: request }, initOverrides);
|
|
11
|
+
}
|
|
12
|
+
browseNext(request, initOverrides) {
|
|
13
|
+
return this.api.browseNext({ browseNextRequest: request }, initOverrides);
|
|
14
|
+
}
|
|
15
|
+
call(request, initOverrides) {
|
|
16
|
+
return this.api.call({ callRequest: request }, initOverrides);
|
|
17
|
+
}
|
|
18
|
+
findServers(request, initOverrides) {
|
|
19
|
+
return this.api.findServers({ findServersRequest: request }, initOverrides);
|
|
20
|
+
}
|
|
21
|
+
getEndpoints(request, initOverrides) {
|
|
22
|
+
return this.api.getEndpoints({ getEndpointsRequest: request }, initOverrides);
|
|
23
|
+
}
|
|
24
|
+
historyRead(request, initOverrides) {
|
|
25
|
+
return this.api.historyRead({ historyReadRequest: request }, initOverrides);
|
|
26
|
+
}
|
|
27
|
+
read(request, initOverrides) {
|
|
28
|
+
return this.api.read({ readRequest: request }, initOverrides);
|
|
29
|
+
}
|
|
30
|
+
write(request, initOverrides) {
|
|
31
|
+
return this.api.write({ writeRequest: request }, initOverrides);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.UaWebClientNative = UaWebClientNative;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./UaWebClientApi"), exports);
|
|
18
|
+
__exportStar(require("./UaWebClientNative"), exports);
|
package/dist/client/index.d.ts
CHANGED
package/dist/client/index.js
CHANGED