IBM BJ0NJML Integration Guide - Page 233

The HTTP Processing, Exit Class

Page 233 highlights

The HTTP Processing Exit Class Outbound Customization You can use an HTTP exit placeholder for customization when sending transactions from the system to an external system using HTTP. This exit class is optional and is called as part of the response from the HTTP call. The following figure shows the HTTP processing exit class that the system runs when a response is returned to the HTTP Post from an external system. HTTPResponseUser In the default implementation, psdi.iface.router.DefaultHTTPExit, the response code received from the external system is compared to a range of response codes. The range used by the default implementation is 200 - 299. If the code is outside that range, then the transaction was not delivered to the external system and an exception is raised. With some external systems, the response from an HTTP call is interpreted to see if the external system accepted the message or not. The interpretation logic can be implemented in the HTTP exit class. If the publish channel message is not accepted, the code must raise an exception. The message in the outbound queue is marked in error and is not removed from the queue. If the message is accepted, the message is removed from the outbound queue. If the invocation channel message fails, the exception is returned to the invoker of the channel and the invoker handles the exception according to the design requirements. This class must implement the psdi.iface.router.HTTPExit interface and implement the following method: public void processResponseData(int responseCode, String responseMsg, byte[] msgBodyData) If necessary, this class can interpret the response code and throw an exception. You enter the fully qualified name of the Java class in the HTTPEXIT property of the endpoint that implements the HTTP handler. This class does the following processing to analyze the response from the HTTP post: T Checks the response code from the HTTP post. T If the response code is in the error range, the exception is logged on the ERROR level and a system exception is thrown. T If the response code is valid, the transaction is logged on the DEBUG level. Integration Framework Customization with Java and XSL 219

  • 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

Outbound Customization
Integration Framework Customization with Java and XSL
219
The HTTP Processing
Exit Class
You can use an HTTP exit placeholder for customization when sending
transactions from the system to an external system using HTTP. This exit class is
optional and is called as part of the response from the HTTP call.
The following figure shows the HTTP processing exit class that the system runs
when a response is returned to the HTTP Post from an external system.
In the default implementation, psdi.iface.router.DefaultHTTPExit, the response
code received from the external system is compared to a range of response codes.
The range used by the default implementation is 200 - 299. If the code is outside
that range, then the transaction was not delivered to the external system and an
exception is raised.
With some external systems, the response from an HTTP call is interpreted to see
if the external system accepted the message or not. The interpretation logic can be
implemented in the HTTP exit class.
If the publish channel message is not accepted, the code must raise an exception.
The message in the outbound queue is marked in error and is not removed from
the queue. If the message is accepted, the message is removed from the outbound
queue.
If the invocation channel message fails, the exception is returned to the invoker of
the channel and the invoker handles the exception according to the design
requirements.
This class must implement the psdi.iface.router.HTTPExit interface and
implement the following method:
public void processResponseData(int responseCode, String
responseMsg, byte[] msgBodyData)
If necessary, this class can interpret the response code and throw an exception.
You enter the fully qualified name of the Java class in the HTTPEXIT property of
the endpoint that implements the HTTP handler.
HTTPResponseUser
This class does the following processing to analyze the response from the HTTP
post:
Checks the response code from the HTTP post.
If the response code is in the error range, the exception is logged on the
ERROR level and a system exception is thrown.
If the response code is valid, the transaction is logged on the DEBUG level.