Adobe 65011817 Extended User Guide - Page 286

RPC client XML requests

Page 286 highlights

Last updated 12/8/2009 EXTENDING FIREWORKS 282 Cross-Product Extensions Fireworks RPC transactions pass XML between an RPC client and the Fireworks RPC server built in to Fireworks. The RPC client is any supported program that connects to Fireworks through a TCP stream on port 12124. The Fireworks RPC server is the internal code that listens on TCP port 12124 and then handles client requests. During the RPC transaction, information flows from client to server: Client 1 Estabrish TCP connection on port 12124 3 Send XML request Server 2 Accept TCP connection 4 Process XML request 6 Process XML reply 5 Send XML reply 7 Disconnect TCP connection 8 Accept TCP disconnect Note: The RPC client is not required to disconnect after each XML request. The RPC client can keep the connection open and send additional XML requests (the TCP resubmission timeout is 30 seconds). However, only one XML request can be outstanding at a time. In other words, the RPC client cannot send a second request until it receives a reply to the first request, because there is no queueing mechanism to hold pending requests. RPC client XML requests The XML request contains the following four pieces of information for Fireworks: • The type of operation to perform • The name of the operation to perform • The object on which the operation is performed • Any parameters the operation needs Note: XML requests are specially formatted XML document fragments, not full XML documents. XML requests are sent to the server in UTF-8 encoding and terminated with the null (0) character. Logically, requests contain two parts: the envelope and the parameters. The envelope specifies the requested operation (for instance, get or set) and the object that the operation is performed on. The parameters (strings, integers, arrays, and so on) specify how the operation happens. The envelope tag contains the parameter tag, as follows: The RPC client sends the following four types of requests, specified in the XML tag name of the envelope: • The get operation retrieves the current object properties. The get operation can contain only the obj and name attributes and no subelements. In the following example, the client requests the value of the appDir property of the object whose ID is 1:

  • 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
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336

282
EXTENDING FIREWORKS
Cross-Product Extensions
Las
t
up
d
a
ted
12/8/2009
Fireworks RPC transactions pass XML between an RPC client and the Fireworks RPC server built in to Fireworks. The
RPC client is any supported program that connects to Fireworks through a TCP stream on port 12124. The Fireworks
RPC server is the internal code that listens on TCP port 12124 and then handles client requests. During the RPC
transaction, information flows from client to server:
Note:
The RPC client is not required to disconnect after each XML request. The RPC client can keep the connection open
and send additional XML requests (the TCP resubmission timeout is 30 seconds). However, only one XML request can
be outstanding at a time. In other words, the RPC client cannot send a second request until it receives a reply to the first
request, because there is no queueing mechanism to hold pending requests.
RPC client XML requests
The XML request contains the following four pieces of information for Fireworks:
The type of operation to perform
The name of the operation to perform
The object on which the operation is performed
Any parameters the operation needs
Note:
XML requests are specially formatted XML document fragments, not full XML documents. XML requests are
sent to the server in UTF-8 encoding and terminated with the null (0) character.
Logically, requests contain two parts: the envelope and the parameters. The envelope specifies the requested
operation (for instance,
get
or
set
) and the object that the operation is performed on. The parameters (strings,
integers, arrays, and so on) specify how the operation happens. The envelope tag contains the parameter tag, as
follows:
<envelope><parameter /></envelope>
The RPC client sends the following four types of requests, specified in the XML tag name of the envelope:
The
get
operation retrieves the current object properties. The
get
operation can contain only the
obj
and
name
attributes and no subelements. In the following example, the client requests the value of the
appDir
property of the
object whose ID is 1:
<get obj="1" name="appDir" />
Client
Server
Estabrish TCP connection
on port 12124
Send XML request
Process XML reply
Disconnect TCP
connection
Accept TCP connection
Process XML request
Send XML reply
Accept TCP
disconnect
1
2
3
4
5
6
7
8