MetadataExchange   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 571
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 200
dl 0
loc 571
rs 10
c 1
b 0
f 0
wmc 7

7 Methods

Rating   Name   Duplication   Size   Complexity  
A buildDocument() 0 12 1
A __construct() 0 2 1
B getBindings() 0 166 1
A getPortTypes() 0 25 1
A getMessages() 0 22 1
A getPolicies() 0 7 1
A getServices() 0 55 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace SimpleSAML\Module\adfs;
6
7
use SimpleSAML\Module;
8
use SimpleSAML\Module\adfs\Trust;
9
use SimpleSAML\WSDL\XML\soap12\Address as Soap12Address;
10
use SimpleSAML\WSDL\XML\soap12\Binding as Soap12Binding;
11
use SimpleSAML\WSDL\XML\soap12\Body as Soap12Body;
12
use SimpleSAML\WSDL\XML\soap12\Operation as Soap12Operation;
13
use SimpleSAML\WSDL\XML\wsdl\Binding;
14
use SimpleSAML\WSDL\XML\wsdl\BindingOperation;
15
use SimpleSAML\WSDL\XML\wsdl\BindingOperationInput;
16
use SimpleSAML\WSDL\XML\wsdl\BindingOperationOutput;
17
use SimpleSAML\WSDL\XML\wsdl\Definitions;
18
use SimpleSAML\WSDL\XML\wsdl\Input;
19
use SimpleSAML\WSDL\XML\wsdl\Message;
20
use SimpleSAML\WSDL\XML\wsdl\Output;
21
use SimpleSAML\WSDL\XML\wsdl\Part;
22
use SimpleSAML\WSDL\XML\wsdl\Port;
23
use SimpleSAML\WSDL\XML\wsdl\PortType;
24
use SimpleSAML\WSDL\XML\wsdl\PortTypeOperation;
25
use SimpleSAML\WSDL\XML\wsdl\Service;
26
use SimpleSAML\WSSecurity\Constants as C;
27
use SimpleSAML\WSSecurity\XML\wsa_200508\Address;
28
use SimpleSAML\WSSecurity\XML\wsa_200508\EndpointReference;
29
use SimpleSAML\WSSecurity\XML\wsp\PolicyReference;
30
use SimpleSAML\WSSecurity\XML\wst_200502\RequestSecurityToken as RequestSecurityToken2005;
31
use SimpleSAML\WSSecurity\XML\wst_200502\RequestSecurityTokenResponse as RequestSecurityTokenResponse2005;
32
//use SimpleSAML\WSSecurity\XML\wst_200512\RequestSecurityToken as RequestSecurityToken13;
33
//use SimpleSAML\WSSecurity\XML\wst_200512\RequestSecurityTokenResponseCollection as \
34
//RequestSecurityTokenResponseCollection13;
35
use SimpleSAML\XML\Attribute as XMLAttribute;
36
37
//use SimpleSAML\XML\Chunk;
38
//use SimpleSAML\XML\DOMDocumentFactory;
39
use function array_merge;
40
use function sprintf;
41
42
/**
43
 * Common code for building MetaExchange (mex) documents based on the available configuration.
44
 *
45
 * @package simplesamlphp/simplesamlphp-module-adfs
46
 */
47
class MetadataExchange
48
{
49
    /**
50
     * Constructor.
51
     */
52
    public function __construct()
53
    {
54
    }
55
56
57
    /**
58
     * Build a mex document
59
     *
60
     * @return \SimpleSAML\WSDL\XML\wsdl\Definitions
61
     */
62
    public function buildDocument(): Definitions
63
    {
64
        return new Definitions(
65
            targetNamespace: 'http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice',
66
            name: 'SecurityTokenService',
67
            //import: [],
68
            //types: $this->getTypes(),
69
            message: $this->getMessages(),
70
            portType: $this->getPortTypes(),
71
            binding: $this->getBindings(),
72
            service: $this->getServices(),
73
            elements: $this->getPolicies(),
74
        );
75
    }
76
77
78
    /**
79
     * This method builds the wsp:Policy elements
80
     *
81
     * @return \SimpleSAML\WSSecurity\XML\wsp\Policy[]
82
     */
83
    private function getPolicies(): array
84
    {
85
        $policy2005 = new Trust\Policy2005();
86
        $policy13 = new Trust\Policy13();
0 ignored issues
show
Unused Code introduced by
The assignment to $policy13 is dead and can be removed.
Loading history...
87
88
        return array_merge(
89
            $policy2005->getPolicies(),
90
            //$policy13->getPolicies(),
91
        );
92
    }
93
94
95
    /**
96
     * This method builds the wsdl:types elements
97
     *
98
     * @return \SimpleSAML\WSSL\XML\wsdl\Types[]
99
    private function getTypes(): array
100
    {
101
        $defaultEndpoint = Module::getModuleURL('adfs/services/trust/mex');
102
        $xml = <<<IMPORT
103
<xsd:schema
104
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
105
  targetNamespace="http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice/Imports">
106
<xsd:import schemaLocation="$defaultEndpoint?xsd=xsd0" namespace="http://schemas.microsoft.com/Message"/>
107
<xsd:import schemaLocation="$defaultEndpoint?xsd=xsd1" namespace="http://schemas.xmlsoap.org/ws/2005/02/trust"/>
108
<xsd:import schemaLocation="$defaultEndpoint?xsd=xsd2" namespace="http://docs.oasis-open.org/ws-sx/ws-trust/200512"/>
109
</xsd:schema>
110
IMPORT;
111
112
        return [
113
            new Types([
114
                new Chunk(DOMDocumentFactory::fromString($xml)->documentElement),
115
            ]),
116
        ];
117
    }
118
     */
119
120
121
    /**
122
     * This method builds the wsdl:message elements
123
     *
124
     * @return \SimpleSAML\WSDL\XML\wsdl\Message[]
125
     */
126
    private function getMessages(): array
127
    {
128
        return [
129
            new Message(
130
                'IWSTrustFeb2005Async_TrustFeb2005IssueAsync_InputMessage',
131
                [new Part(
132
                    'request',
133
                    sprintf(
134
                        "%s:%s",
135
                        RequestSecurityToken2005::getNamespacePrefix(),
136
                        RequestSecurityToken2005::getLocalName(),
137
                    ),
138
                )],
139
            ),
140
            new Message(
141
                'IWSTrustFeb2005Async_TrustFeb2005IssueAsync_OutputMessage',
142
                [new Part(
143
                    'TrustFeb2005IssueAsyncResult',
144
                    sprintf(
145
                        "%s:%s",
146
                        RequestSecurityTokenResponse2005::getNamespacePrefix(),
147
                        RequestSecurityTokenResponse2005::getLocalName(),
148
                    ),
149
                )],
150
            ),
151
/*
152
            new Message(
153
                'IWSTrust13Async_Trust13IssueAsync_InputMessage',
154
                [new Part(
155
                    'request',
156
                    sprintf(
157
                        "%s:%s",
158
                        RequestSecurityToken13::getNamespacePrefix(),
159
                        RequestSecurityToken13::getLocalName(),
160
                    ),
161
                )],
162
            ),
163
            new Message(
164
                'IWSTrust13Async_Trust13IssueAsync_OutputMessage',
165
                [new Part(
166
                    'Trust13IssueAsyncResult',
167
                    sprintf(
168
                        "%s:%s",
169
                        RequestSecurityTokenResponseCollection13::getNamespacePrefix(),
170
                        RequestSecurityTokenResponseCollection13::getLocalName(),
171
                    ),
172
                )],
173
            ),
174
*/
175
        ];
176
    }
177
178
179
    /**
180
     * This method builds the wsdl:portType elements
181
     *
182
     * @return \SimpleSAML\WSDL\XML\wsdl\PortType[]
183
     */
184
    private function getPortTypes(): array
185
    {
186
        return [
187
            new PortType('IWSTrustFeb2005Async', [
188
                new PortTypeOperation(
189
                    name: 'TrustFeb2005IssueAsync',
190
                    input: new Input(
191
                        message: 'tns:IWSTrustFeb2005Async_TrustFeb2005IssueAsync_InputMessage',
192
                        attributes: [
193
                            new XMLAttribute(
194
                                C::NS_WSDL_ADDR,
195
                                'wsaw',
196
                                'Action',
197
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
198
                            ),
199
                        ],
200
                    ),
201
                    output: new Output(
202
                        message: 'tns:IWSTrustFeb2005Async_TrustFeb2005IssueAsync_OutputMessage',
203
                        attributes: [
204
                            new XMLAttribute(
205
                                C::NS_WSDL_ADDR,
206
                                'wsaw',
207
                                'Action',
208
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue',
209
                            ),
210
                        ],
211
                    ),
212
                ),
213
            ]),
214
/*
215
            new PortType('IWSTrust13Async', [
216
                new PortTypeOperation(
217
                    name: 'Trust13IssueAsync',
218
                    input: new Input(
219
                        message: 'tns:IWSTrust13Async_Trust13IssueAsync_InputMessage',
220
                        attributes: [
221
                            new XMLAttribute(
222
                                C::NS_WSDL_ADDR,
223
                                'wsaw',
224
                                'Action',
225
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue',
226
                            ),
227
                        ],
228
                    ),
229
                    output: new Output(
230
                        message: 'tns:IWSTrust13Async_Trust13IssueAsync_OutputMessage',
231
                        attributes: [
232
                            new XMLAttribute(
233
                                C::NS_WSDL_ADDR,
234
                                'wsaw',
235
                                'Action',
236
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RSTRC/IssueFinal',
237
                            ),
238
                        ],
239
                    ),
240
                ),
241
            ]),
242
*/
243
        ];
244
    }
245
246
247
    /**
248
     * This method builds the wsdl:binding elements
249
     *
250
     * @return \SimpleSAML\WSDL\XML\wsdl\Binding[]
251
     */
252
    private function getBindings(): array
253
    {
254
        return [
255
            new Binding(
256
                name: 'CertificateWSTrustBinding_IWSTrustFeb2005Async',
257
                type: 'tns:IWSTrustFeb2005Async',
258
                operation: [
259
                    new BindingOperation(
260
                        name: 'TrustFeb2005IssueAsync',
261
                        input: new BindingOperationInput(
262
                            elements: [
263
                                new Soap12Body(null, null, 'literal'),
264
                            ],
265
                        ),
266
                        output: new BindingOperationOutput(
267
                            elements: [
268
                                new Soap12Body(null, null, 'literal'),
269
                            ],
270
                        ),
271
                        elements: [
272
                            new Soap12Operation(
273
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
274
                                null,
275
                                'document',
276
                            ),
277
                        ],
278
                    ),
279
                ],
280
                elements: [
281
                    new PolicyReference(
282
                        URI: '#CertificateWSTrustBinding_IWSTrustFeb2005Async_policy',
283
                        DigestAlgorithm: null,
284
                    ),
285
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
286
                ],
287
            ),
288
            new Binding(
289
                name: 'CertificateWSTrustBinding_IWSTrustFeb2005Async1',
290
                type: 'tns:IWSTrustFeb2005Async',
291
                operation: [
292
                    new BindingOperation(
293
                        name: 'TrustFeb2005IssueAsync',
294
                        input: new BindingOperationInput(
295
                            elements: [
296
                                new Soap12Body(null, null, 'literal'),
297
                            ],
298
                        ),
299
                        output: new BindingOperationOutput(
300
                            elements: [
301
                                new Soap12Body(null, null, 'literal'),
302
                            ],
303
                        ),
304
                        elements: [
305
                            new Soap12Operation(
306
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
307
                                null,
308
                                'document',
309
                            ),
310
                        ],
311
                    ),
312
                ],
313
                elements: [
314
                    new PolicyReference(
315
                        URI: '#CertificateWSTrustBinding_IWSTrustFeb2005Async1_policy',
316
                        DigestAlgorithm: null,
317
                    ),
318
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
319
                ],
320
            ),
321
            new Binding(
322
                name: 'UserNameWSTrustBinding_IWSTrustFeb2005Async',
323
                type: 'tns:IWSTrustFeb2005Async',
324
                operation: [
325
                    new BindingOperation(
326
                        name: 'TrustFeb2005IssueAsync',
327
                        input: new BindingOperationInput(
328
                            elements: [
329
                                new Soap12Body(null, null, 'literal'),
330
                            ],
331
                        ),
332
                        output: new BindingOperationOutput(
333
                            elements: [
334
                                new Soap12Body(null, null, 'literal'),
335
                            ],
336
                        ),
337
                        elements: [
338
                            new Soap12Operation(
339
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
340
                                null,
341
                                'document',
342
                            ),
343
                        ],
344
                    ),
345
                ],
346
                elements: [
347
                    new PolicyReference(
348
                        URI: '#UserNameWSTrustBinding_IWSTrustFeb2005Async_policy',
349
                        DigestAlgorithm: null,
350
                    ),
351
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
352
                ],
353
            ),
354
            new Binding(
355
                name: 'IssuedTokenWSTrustBinding_IWSTrustFeb2005Async',
356
                type: 'tns:IWSTrustFeb2005Async',
357
                operation: [
358
                    new BindingOperation(
359
                        name: 'TrustFeb2005IssueAsync',
360
                        input: new BindingOperationInput(
361
                            elements: [
362
                                new Soap12Body(null, null, 'literal'),
363
                            ],
364
                        ),
365
                        output: new BindingOperationOutput(
366
                            elements: [
367
                                new Soap12Body(null, null, 'literal'),
368
                            ],
369
                        ),
370
                        elements: [
371
                            new Soap12Operation(
372
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
373
                                null,
374
                                'document',
375
                            ),
376
                        ],
377
                    ),
378
                ],
379
                elements: [
380
                    new PolicyReference(
381
                        URI: '#IssuedTokenWSTrustBinding_IWSTrustFeb2005Async_policy',
382
                        DigestAlgorithm: null,
383
                    ),
384
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
385
                ],
386
            ),
387
            new Binding(
388
                name: 'IssuedTokenWSTrustBinding_IWSTrustFeb2005Async1',
389
                type: 'tns:IWSTrustFeb2005Async',
390
                operation: [
391
                    new BindingOperation(
392
                        name: 'TrustFeb2005IssueAsync',
393
                        input: new BindingOperationInput(
394
                            elements: [
395
                                new Soap12Body(null, null, 'literal'),
396
                            ],
397
                        ),
398
                        output: new BindingOperationOutput(
399
                            elements: [
400
                                new Soap12Body(null, null, 'literal'),
401
                            ],
402
                        ),
403
                        elements: [
404
                            new Soap12Operation(
405
                                'http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue',
406
                                null,
407
                                'document',
408
                            ),
409
                        ],
410
                    ),
411
                ],
412
                elements: [
413
                    new PolicyReference(
414
                        URI: '#IssuedTokenWSTrustBinding_IWSTrustFeb2005Async1_policy',
415
                        DigestAlgorithm: null,
416
                    ),
417
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
418
                ],
419
            ),
420
/*
421
            new Binding(
422
                name: 'CertificateWSTrustBinding_IWSTrust13Async',
423
                type: 'tns:IWSTrust13Async',
424
                operation: [
425
                    new BindingOperation(
426
                        name: 'Trust13IssueAsync',
427
                        input: new BindingOperationInput(
428
                            elements: [
429
                                new Soap12Body(null, null, 'literal'),
430
                            ],
431
                        ),
432
                        output: new BindingOperationOutput(
433
                            elements: [
434
                                new Soap12Body(null, null, 'literal'),
435
                            ],
436
                        ),
437
                        elements: [
438
                            new Soap12Operation(
439
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue',
440
                                null,
441
                                'document',
442
                            ),
443
                        ],
444
                    ),
445
                ],
446
                elements: [
447
                    new PolicyReference(
448
                        URI: '#CertificateWSTrustBinding_IWSTrust13Async_policy',
449
                        DigestAlgorithm: null,
450
                    ),
451
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
452
                ],
453
            ),
454
            new Binding(
455
                name: 'UserNameWSTrustBinding_IWSTrust13Async',
456
                type: 'tns:IWSTrust13Async',
457
                operation: [
458
                    new BindingOperation(
459
                        name: 'Trust13IssueAsync',
460
                        input: new BindingOperationInput(
461
                            elements: [
462
                                new Soap12Body(null, null, 'literal'),
463
                            ],
464
                        ),
465
                        output: new BindingOperationOutput(
466
                            elements: [
467
                                new Soap12Body(null, null, 'literal'),
468
                            ],
469
                        ),
470
                        elements: [
471
                            new Soap12Operation(
472
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue',
473
                                null,
474
                                'document',
475
                            ),
476
                        ],
477
                    ),
478
                ],
479
                elements: [
480
                    new PolicyReference(
481
                        URI: '#UserNameWSTrustBinding_IWSTrust13Async_policy',
482
                        DigestAlgorithm: null,
483
                    ),
484
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
485
                ],
486
            ),
487
            new Binding(
488
                name: 'IssuedTokenWSTrustBinding_IWSTrust13Async',
489
                type: 'tns:IWSTrust13Async',
490
                operation: [
491
                    new BindingOperation(
492
                        name: 'Trust13IssueAsync',
493
                        input: new BindingOperationInput(
494
                            elements: [
495
                                new Soap12Body(null, null, 'literal'),
496
                            ],
497
                        ),
498
                        output: new BindingOperationOutput(
499
                            elements: [
500
                                new Soap12Body(null, null, 'literal'),
501
                            ],
502
                        ),
503
                        elements: [
504
                            new Soap12Operation(
505
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue',
506
                                null,
507
                                'document',
508
                            ),
509
                        ],
510
                    ),
511
                ],
512
                elements: [
513
                    new PolicyReference(
514
                        URI: '#IssuedTokenWSTrustBinding_IWSTrust13Async_policy',
515
                        DigestAlgorithm: null,
516
                    ),
517
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
518
                ],
519
            ),
520
            new Binding(
521
                name: 'IssuedTokenWSTrustBinding_IWSTrust13Async1',
522
                type: 'tns:IWSTrust13Async',
523
                operation: [
524
                    new BindingOperation(
525
                        name: 'Trust13IssueAsync',
526
                        input: new BindingOperationInput(
527
                            elements: [
528
                                new Soap12Body(null, null, 'literal'),
529
                            ],
530
                        ),
531
                        output: new BindingOperationOutput(
532
                            elements: [
533
                                new Soap12Body(null, null, 'literal'),
534
                            ],
535
                        ),
536
                        elements: [
537
                            new Soap12Operation(
538
                                'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue',
539
                                null,
540
                                'document',
541
                            ),
542
                        ],
543
                    ),
544
                ],
545
                elements: [
546
                    new PolicyReference(
547
                        URI: '#IssuedTokenWSTrustBinding_IWSTrust13Async1_policy',
548
                        DigestAlgorithm: null,
549
                    ),
550
                    new Soap12Binding('http://schemas.xmlsoap.org/soap/http'),
551
                ],
552
            ),
553
*/
554
        ];
555
    }
556
557
558
    /**
559
     * This method builds the wsdl:service elements
560
     *
561
     * @return \SimpleSAML\WSDL\XML\wsdl\Service[]
562
     */
563
    private function getServices(): array
564
    {
565
        $defaultEndpoint = Module::getModuleURL('adfs/ws-trust/2005/services/');
566
567
        return [
568
            new Service(
569
                name: 'SecurityTokenService',
570
                ports: [
571
                    new Port(
572
                        name: 'CertificateWSTrustBinding_IWSTrustFeb2005Async',
573
                        binding: 'tns:CertificateWSTrustBinding_IWSTrustFeb2005Async',
574
                        elements: [
575
                            new Soap12Address($defaultEndpoint . 'certificatemixed'),
576
                            new EndpointReference(
577
                                new Address($defaultEndpoint . 'certificatemixed'),
578
                            ),
579
                        ],
580
                    ),
581
                    new Port(
582
                        name: 'CertificateWSTrustBinding_IWSTrustFeb2005Async1',
583
                        binding: 'tns:CertificateWSTrustBinding_IWSTrustFeb2005Async1',
584
                        elements: [
585
                            new Soap12Address($defaultEndpoint . 'certificatetransport'),
586
                            new EndpointReference(
587
                                new Address($defaultEndpoint . 'certificatetransport'),
588
                            ),
589
                        ],
590
                    ),
591
                    new Port(
592
                        name: 'UserNameWSTrustBinding_IWSTrustFeb2005Async',
593
                        binding: 'tns:UserNameWSTrustBinding_IWSTrustFeb2005Async',
594
                        elements: [
595
                            new Soap12Address($defaultEndpoint . 'usernamemixed'),
596
                            new EndpointReference(
597
                                new Address($defaultEndpoint . 'usernamemixed'),
598
                            ),
599
                        ],
600
                    ),
601
                    new Port(
602
                        name: 'IssuedTokenWSTrustBinding_IWSTrustFeb2005Async',
603
                        binding: 'tns:IssuedTokenWSTrustBinding_IWSTrustFeb2005Async',
604
                        elements: [
605
                            new Soap12Address($defaultEndpoint . 'issuedtokenmixedasymmetricbasic256'),
606
                            new EndpointReference(
607
                                new Address($defaultEndpoint . 'issuedtokenmixedasymmetricbasic256'),
608
                            ),
609
                        ],
610
                    ),
611
                    new Port(
612
                        name: 'IssuedTokenWSTrustBinding_IWSTrustFeb2005Async1',
613
                        binding: 'tns:IssuedTokenWSTrustBinding_IWSTrustFeb2005Async1',
614
                        elements: [
615
                            new Soap12Address($defaultEndpoint . 'issuedtokenmixedsymmetricbasic256'),
616
                            new EndpointReference(
617
                                new Address($defaultEndpoint . 'issuedtokenmixedsymmetricbasic256'),
618
                            ),
619
                        ],
620
                    ),
621
                /*
622
                    new Port(
623
                        name: 'CertificateWSTrustBinding_IWSTrust13Async',
624
                        binding: 'tns:CertificateWSTrustBinding_IWSTrust13Async',
625
                        elements: [
626
                            new Soap12Address($defaultEndpoint . '13/certificatemixed'),
627
                            new EndpointReference(
628
                                new Address($defaultEndpoint . '13/certificatemixed'),
629
                            ),
630
                        ],
631
                    ),
632
                    new Port(
633
                        name: 'UserNameWSTrustBinding_IWSTrust13Async',
634
                        binding: 'tns:UserNameWSTrustBinding_IWSTrust13Async',
635
                        elements: [
636
                            new Soap12Address($defaultEndpoint . '13/usernamemixed'),
637
                            new EndpointReference(
638
                                new Address($defaultEndpoint . '13/usernamemixed'),
639
                            ),
640
                        ],
641
                    ),
642
                    new Port(
643
                        name: 'IssuedTokenWSTrustBinding_IWSTrust13Async',
644
                        binding: 'tns:IssuedTokenWSTrustBinding_IWSTrust13Async',
645
                        elements: [
646
                            new Soap12Address($defaultEndpoint . '13/issuedtokenmixedasymmetricbasic256'),
647
                            new EndpointReference(
648
                                new Address($defaultEndpoint . '13/issuedtokenmixedasymmetricbasic256'),
649
                            ),
650
                        ],
651
                    ),
652
                    new Port(
653
                        name: 'IssuedTokenWSTrustBinding_IWSTrust13Async1',
654
                        binding: 'tns:IssuedTokenWSTrustBinding_IWSTrust13Async1',
655
                        elements: [
656
                            new Soap12Address($defaultEndpoint . '13/issuedtokenmixedsymmetricbasic256'),
657
                            new EndpointReference(
658
                                new Address($defaultEndpoint . '13/issuedtokenmixedsymmetricbasic256'),
659
                            ),
660
                        ],
661
                    ),
662
                */
663
                ],
664
            ),
665
        ];
666
    }
667
}
668