Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# XTA-Client
Ein Client zum Senden und Empfangen von XTA Nachrichten.
Der Client verwendet *XTA 2 Version 3.1* mit [XTA-Modul-Webservice-Version](https://www.xoev.de/osci-xta/standard-xta-2/xta-versionsuebersicht-23036) `2.1.1`.
Er wird als Maven-Artefakt `xta-client-lib` bereitgestellt und kann in Java-Anwendungen eingebunden werden.
## Senden einer Nachricht
Zum Senden einer Nachricht konfiguriert der Nutzer einen neuen XTA-Client.
```mermaid
%% Versand einer Nachricht
sequenceDiagram
participant A as Nutzer
participant B as XTA-Client
participant C as XTA-Server
Note left of A: (1) XTA-Client erzeugen
Note left of A: (2) Nachricht erzeugen
Note left of A: (3) Nachricht senden
A->>B: sendMessage
activate A
activate B
B->>C: checkAccountActive
activate C
C-->>B:
deactivate C
B->>C: lookupService
activate C
C-->>B:
deactivate C
B->>C: createMessageID
activate C
C-->>B:
deactivate C
B->>C: sendMessage
activate C
deactivate C
B->>C: getTransportReport
activate C
C-->>B:
deactivate C
Note left of A: (4) Nachrichtenstatus prüfen
B-->>A:
deactivate B
deactivate A
```
<small>* XTA-Server wird auch oft als Nachrichtenbroker oder Nachrichtenvermittler bezeichnet.</small>
**Beispielcode:**
```java
// (1) XTA-Client erzeugen
var client = XtaClient.from(config);
// (2) Nachricht erzeugen
...
```
## Empfangen von Nachrichten
Zum Empfangen von Nachrichten konfiguriert der Nutzer einen neuen XTA-Client mit allen seinen Leser-Kennungen.
```mermaid
%% Abfrage einer Nachricht
sequenceDiagram
participant A as Nutzer
participant D as Verarbeiter
participant B as XTA-Client
participant C as XTA-Server
Note left of A: (1) XTA-Client erzeugen
Note left of A: (2) Nachrichten abholen
A->>B: fetchMessages
activate A
activate B
B->>C: getStatusList
activate C
C-->>B:
deactivate C
B->>C: getTransportReport
activate C
C-->>B:
deactivate C
B->>A:
deactivate B
Note left of B: (4) Nachricht abholen
A->>B: getMessage
activate B
B->>C: getMessage
activate C
C-->>B:
deactivate C
B->>C: getTransportReport
activate C
C-->>B:
deactivate C
B->>A:
deactivate B
Note left of D: ...Nachricht verarbeiten...
Note left of B: (5) Nachricht schließen
A->>B: close
activate B
B->>C: close
activate C
C-->>B:
deactivate C
B->>A:
deactivate B
deactivate A
```
**Beispielcode:**
```java
// (1) XTA-Client erzeugen
var client = XtaClient.from(config);
// (2) Nachricht erzeugen
...
```
## Referenzen
- Dieser XTA Client basiert auf dem [XTA Client Beispielcode für XTA 2 Version 3 vom 21.07.2021](https://www.xoev.de/sixcms/media.php/13/XTA_Client_Version_3_20210721.zip) auffindbar unter [Hilfsmittel](https://www.xoev.de/osci-xta/standard-xta-2/xta-hilfsmittel-23081).
- Die [XTA 2 Version 3.1 Spezifikation](file:///home/janz/Downloads/XTA_2_Version_3.1_Spezifikation_30112021-2.pdf) ist auffindbar unter [XTA 2 Version 3.1](https://www.xoev.de/osci-xta/standard-xta-2/xta-versionsuebersicht/xta-2-version-3-23038).