Zeige letzte Bearbeiter
1 {{aagon.priorisierung}}
2 10
3 {{/aagon.priorisierung}}
4
5 Um über eine AESB-Verbindung ein Client Command statisch an einen Client zu senden gehen Sie wie folgt vor:
6 Fügen Sie ein neues Client Command mit Hilfe des Client Command Editors hinzu und wählen aus, dass es sich um ein Consolen Script handelt. Legen Sie zunächst eine ACMP Variable an, indem Sie das Kommando Set project variable aus dem Bereich Variables in das Bearbeitungsfenster ziehen. Geben Sie hier einen Namen an und schließen Sie das Fenster. Ziehen Sie nun das Command [[Form Editor>>doc:ACMP.64.ACMP-Solutions.Client Commands.Client Command erstellen.Client Commands neu hinzufügen.Client Command Editor.Commandlist.Dialogs.Der Form Editor.WebHome]] aus dem Bereich Dialogs in das Bearbeitungsfenster und bearbeiten Sie die Form über den entsprechenden Button. Nachdem sich der Form Editor geöffnet hat, fügen Sie einen Button hinzu, mit welchem Sie die AESB Anbindung durchführen können. Über die Caption können Sie den Anzeigenamen des Buttons anpassen.
7
8 {{figure}}
9 (% style="text-align:center" %)
10 [[image:hmfile_hash_b1119169.png]]
11
12 {{figureCaption}}
13 Formular erstellen
14 {{/figureCaption}}
15 {{/figure}}
16
17 Führen Sie nun im Form Editor einen Doppelklick auf den hinzugefügten Button aus, um in die Code-Ansicht zu wechseln.
18
19 {{figure}}
20 (% style="text-align:center" %)
21 [[image:aesb-formeditor_code-ansicht_zoom80.png]]
22
23 {{figureCaption}}
24 Code-Ansicht
25 {{/figureCaption}}
26 {{/figure}}
27
28 Der Cursor befindet sich nun innerhalb des hinzugefügten Buttons, sodass Sie diesen bearbeiten können. Im oberen Teil des Fensters werden Ihnen die verwendeten Klassen sowie die Prozeduren für den OK-Button und //Abbrechen//-Button angezeigt. Diese werden automatisch hinzugefügt und müssen nicht angepasst werden.
29
30 {{aagon.infobox}}
31 Es ist nicht zwingend notwendig einen Button zu verwenden.
32 {{/aagon.infobox}}
33
34 Deklarieren Sie innerhalb der Button-Prozedur zunächst die folgenden Variablen und Konstanten mit den angebenen Typen und weisen die jeweiligen Werte zu:
35
36 **Variablen für die Funktion AddSICSConnection**
37
38 |(% style="width:196px" %)**Parameter**|(% style="width:145px" %)**Typ**|(% style="width:1023px" %)**Beschreibung**
39 |(% style="width:196px" %)Protocol|(% style="width:145px" %)TProtocolType|(% style="width:1023px" %)Hier wird das Protokoll (HTTP (0) oder HTTPS (1)) für die auzubauende AESB-Verbindung gespeichert
40 |(% style="width:196px" %)ConnectionTimeout|(% style="width:145px" %)string|(% style="width:1023px" %)Hier tragen Sie ein, wann ein Timeout erreicht werden soll
41
42 **Konstanten für die Funktion AddSICSConnection**
43
44 |(% style="width:194px" %)**Parameter**|(% style="width:150px" %)**Typ**|(% style="width:1020px" %)**Beschreibung**
45 |(% style="width:194px" %)Server|(% style="width:150px" %)string|(% style="width:1020px" %)Hier tragen Sie den Servernamen ein
46 |(% style="width:194px" %)Port|(% style="width:150px" %)string|(% style="width:1020px" %)Hier tragen Sie den Serverport ein
47 |(% style="width:194px" %)Username|(% style="width:150px" %)string|(% style="width:1020px" %)Hier tragen Sie den AESB-Benutzer ein
48 |(% style="width:194px" %)Passwort|(% style="width:150px" %)string|(% style="width:1020px" %)Hier tragen Sie das Passwort des AESB-Benutzers ein
49 |(% style="width:194px" %)TargetConnectionVariable|(% style="width:150px" %)string|(% style="width:1020px" %)In dieser Projektvariable wird die Verbindung zum AESB gespeichert
50
51 **Variablen für die Funktion SICSPublish**
52
53 |**Parameter**|**Typ**|**Beschreibung**
54 |ExchangeType|TExchangeType|Hier wird der Exchange Typ (Direct (0) oder Routing (1)) eingetragen. Weisen Sie dieser Variable den Wert 'Routing' zu
55 |OptionalParameters|TStrings|Hier werden optionale Parameter für den Aufruf gespeichert
56 |ResultMessages|TStrings|Hier wird automatisch die Ergebnismeldungen gepeichert
57 |AAckMessages|string|
58 |AResult|string|
59 |AErrorCode|Integer|Hier wird automatisch der Fehlercode eingetragen
60
61 **Konstanten für die Funktion SICSPublish**
62
63 |(% style="width:191px" %)**Parameter**|(% style="width:158px" %)**Typ**|(% style="width:1015px" %)**Beschreibung**
64 |(% style="width:191px" %)MessageID|(% style="width:158px" %)string|(% style="width:1015px" %)Hier tragen Sie die Message ID ein. Diese können Sie individuell vergeben. Syntax: {0F910571-4216-4C7A-9031-A7BCA0F03D5B}
65 |(% style="width:191px" %)VirtualRouter|(% style="width:158px" %)string|(% style="width:1015px" %)Hier wird der Virtual Router eingetragen. Weisen Sie dieser Konstante den Wert 'VCMN' zu
66 |(% style="width:191px" %)RoutingKey|(% style="width:158px" %)string|(% style="width:1015px" %)Mit dem Routing Key geben Sie an, wohin der AESB die Verbindung aufbauen soll. Wisen Sie dieser Konstante den Wert '?.Aagon.Components.ACMPServer.*' zu
67 |(% style="width:191px" %)Tag|(% style="width:158px" %)string|(% style="width:1015px" %)Hier tragen Sie den Tag ein. Weisen Sie dieser Konstante den Wert 'ICQL' zu
68 |(% style="width:191px" %)MessageBody|(% style="width:158px" %)string|(% style="width:1015px" %)In dieser Konstante wird der Ablauf des Client Commands sowie das Ziel gespeichert
69 |(% style="width:191px" %)CallBackVirtualRouter|(% style="width:158px" %)string|(% style="width:1015px" %)Die CallBack Funktionalität muss nicht konfiguriert werden
70 |(% style="width:191px" %)CallbackRoutingKey|(% style="width:158px" %)string|(% style="width:1015px" %)Die CallBack Funktionalität muss nicht konfiguriert werden
71 |(% style="width:191px" %)ConnectionString|(% style="width:158px" %)string|(% style="width:1015px" %)In dieser Variable werden die Werte der Verbindung zum AESB gespeichert
72
73 {{code language="None"}}
74 var
75 Protocol: TProtocolType = '0';
76 ConnectionTimeout: String = '30';
77 ExchangeType: TExchangeType = 'Routing';
78 OptionalParameters: TStrings = '';                                                                      
79 ResultMessages: TStrings = '';
80 AAckMessages: string = '';
81 AResult: string = '';
82 AErrorCode: Integer = 0;
83 Result: Integer = 0;
84
85 const
86 Server: string = 'ACMP-SERVER';
87 Port: string = '3900';
88 Username: string = 'Operator';
89 Passwort: string = 'operator';
90 TargetConnectionVariable: string = '';
91 ConnectionString: string = '';
92 MessageID: string = '{0F910571-4216-4C7A-9031-A7BCA0F03D5B}';
93 VirtualRouter: string = 'VCMN';
94 RoutingKey: string = '?.Aagon.Components.ACMPServer.*';
95 Tag: string = 'ICQL';
96 MessageBody: string = '<ICQL><ACMP><EnqueueClientCommand version="1">' +               
97
98 '<TEnqueueClientCommandRequest_V1 xmlns:xsi="http:~/~/www.w3.org/2001/XMLSchema-instance">' +
99
100 '<ClientId>%ClientID´%</ClientId>' +
101
102 '<ClientCommandId>%ClientCommandID%</ClientCommandId>' +   
103
104 '</TEnqueueClientCommandRequest_V1></EnqueueClientCommand></ACMP></ICQL>';
105
106 CallbackVirtualRouter: string = '';
107 CallbackRoutingKey: string = '';
108 {{/code}}
109
110 Nachdem Sie alle notwendigen Variablen und Konstanten angelegt und mit Werten gefüllt haben, rufen Sie nach dem Begin die Prozedur AddSICSConnection wie folgt auf:
111
112 {{code language="None"}}
113 AddSICSConnection~(%Protocol%, %Server%, %Port%,  %Username%, %Passwort%, %ConnectionTimeout%, %TargetConnectionVariable%);
114 {{/code}}
115
116 {{aagon.infobox}}
117 Beachten Sie, dass Sie die Konstanten Server, Port, Username und Passwort an Ihre Umgebung anpassen.
118
119 Die %ClientID% im MessageBody kopieren Sie vorher aus einer Abfrage und die %ClientCommandID% können Sie sich aus den Einstellungen des benötigten Client Commands kopieren.
120 {{/aagon.infobox}}
121
122 Nachdem Sie die AESB-Verbindung hinzugefügt haben, lesen Sie den Inhalt der Projektvariable %TargetConnectionVariable% mit GetVarContent() wie folgt aus und speichern die Werte in der Konstante %ConnectionString%:
123
124 {{code language="None"}}
125 ConnectionString := GetVarContent(%TargetConnectionVariable%);
126 {{/code}}
127
128 Speichern Sie nun das Ergebnis mit der Funktion SICSPublish:
129
130 {{code language="None"}}
131 Result := SICSPublish(%ConnectionString%, %MessageID%, %VirtualRouter%, %RoutingKey%, %ExchangeType%, %Tag%, %MessageBody%, %CallbackVirtualRouter%, %CallbackRoutingKey%, %OptionalParameter%, %ResultMessages%, %AAckMessage%, %AResult%, %AErrorCode%);
132 {{/code}}
133
134 Geben Sie die beiden TStrings OptionalParameters sowie ResultMessages wieder frei %OptionalParameters%.free; und %ResultMessages%.free;

Navigation

© Aagon GmbH 2024
Besuchen Sie unsere neue Aagon-Community