@@ -151,7 +151,11 @@ DEFINE STREAM strFile.
151
151
END . /** for each ttmethod * */
152
152
END . /** for each ttProcedure * */
153
153
154
- /*Codigo posterior a la identificacion */
154
+ /*Discard unknown methods and nodes */
155
+ {&WRITE-CODE} " WHEN " " multiRef" " THEN~n " .
156
+ {&WRITE-CODE} " DO:~n " .
157
+ {&WRITE-CODE} " /*IGNORE*/~n " .
158
+ {&WRITE-CODE} " END.~n " .
155
159
{&WRITE-CODE} " OTHERWISE~n " .
156
160
{&WRITE-CODE} " DO:~n " .
157
161
{&WRITE-CODE} " vhndResponseMessage = createFault(vhndResponseBody," " soap:Server.UnknownMethod" " ," " The specified method is unknown." " ,THIS-PROCEDURE:FILE-NAME,vchrEnvelopeNS).~n " .
@@ -311,8 +315,8 @@ DEFINE STREAM strFile.
311
315
NO-LOCK
312
316
BY ttParam.iSeq :
313
317
{&WRITE-CODE} SUBSTITUTE (
314
- " getInTable(iphndRequestMessage," " &1Array " " ,(BUFFER &1 :HANDLE)).~n "
315
- , ttProcedure.cName + " _" + ttParam.cName ).
318
+ " getInTable(iphndRequestMessage," " &1 " " ,(BUFFER &2 :HANDLE)).~n "
319
+ ,ttParam.cName , ttProcedure.cName + " _" + ttParam.cName ).
316
320
END . /** for each ttparam * */
317
321
318
322
{&WRITE-CODE} " ~n " .
@@ -322,37 +326,44 @@ DEFINE STREAM strFile.
322
326
ASSIGN vchrComma = " " .
323
327
IF ttMethod.cName <> " " THEN
324
328
DO :
325
- {&WRITE-CODE} SUBSTITUTE (" RUN &1 (iphndRequestMessage,iphndResponseMessage).~n " ,ttProcedure.cName ).
326
- {&WRITE-CODE} SUBSTITUTE (" RUN &1 IN vhnd&2 ( ~n " , ttProcedure.cName + " _ " + ttMethod.cName , ichNameSpace + STRING (ttMethod.iProcId )).
329
+ {&WRITE-CODE} SUBSTITUTE (" RUN &1Adapter (iphndRequestMessage,iphndResponseMessage).~n " ,ttProcedure.cName ).
330
+ {&WRITE-CODE} SUBSTITUTE (" RUN &1 IN vhnd&2" , ttMethod.cName , ichNameSpace + STRING (ttMethod.iProcId )).
327
331
END .
328
332
ELSE
329
333
DO :
330
- {&WRITE-CODE} SUBSTITUTE (" RUN &1 PERSISTENT SET vhnd&2 ( ~n " , ttProcedure.cPath , ichNameSpace + STRING (ttMethod.iProcId )).
334
+ {&WRITE-CODE} SUBSTITUTE (" RUN &1 PERSISTENT SET vhnd&2" , ttProcedure.cPath , ichNameSpace + STRING (ttMethod.iProcId )).
331
335
END .
332
336
333
- FOR EACH ttParam
337
+ IF CAN-FIND ( FIRST ttParam
334
338
WHERE ttParam.iProcId = ttMethod.iProcId
335
- AND ttParam.cMethodName = ttMethod.cName
336
- NO-LOCK
337
- BY ttParam.iSeq :
338
- IF ttParam.cDataType = " TABLE" THEN
339
- DO :
340
- {&WRITE-CODE} SUBSTITUTE (" &1&2 TABLE &3~n " , vchrComma , ttParam.cDirection , ttProcedure.cName + " _" + ttParam.cName ).
341
- END .
342
- ELSE
343
- DO :
344
- IF ttParam.cDirection = " INPUT" THEN
339
+ AND ttParam.cMethodName = ttMethod.cName ) THEN
340
+ DO :
341
+ {&WRITE-CODE} " (~n " .
342
+ FOR EACH ttParam
343
+ WHERE ttParam.iProcId = ttMethod.iProcId
344
+ AND ttParam.cMethodName = ttMethod.cName
345
+ NO-LOCK
346
+ BY ttParam.iSeq :
347
+ IF ttParam.cDataType = " TABLE" THEN
345
348
DO :
346
- {&WRITE-CODE} SUBSTITUTE (" &1getIn&2(iphndRequestMessage, " " &3 " " ) ~n " , vchrComma , ttParam.cDataType , ( IF ttParam.cMethodName = " " THEN ttProcedure.cName + " _" ELSE " " ) + ttParam.cName ).
349
+ {&WRITE-CODE} SUBSTITUTE (" &1&2 TABLE &3 ~n " , vchrComma , ttParam.cDirection , ttProcedure.cName + " _" + ttParam.cName ).
347
350
END .
348
351
ELSE
349
352
DO :
350
- {&WRITE-CODE} SUBSTITUTE (" &1&2 &3~n " , vchrComma , ttParam.cDirection , ttParam.cName ).
353
+ IF ttParam.cDirection = " INPUT" THEN
354
+ DO :
355
+ {&WRITE-CODE} SUBSTITUTE (" &1getIn&2(iphndRequestMessage," " &3" " )~n " , vchrComma , ttParam.cDataType , (IF ttParam.cMethodName = " " THEN ttProcedure.cName + " _" ELSE " " ) + ttParam.cName ).
356
+ END .
357
+ ELSE
358
+ DO :
359
+ {&WRITE-CODE} SUBSTITUTE (" &1&2 &3~n " , vchrComma , ttParam.cDirection , ttParam.cName ).
360
+ END .
351
361
END .
352
- END .
353
- ASSIGN vchrComma = " ," .
354
- END . /** for each ttparam * */
355
- {&WRITE-CODE} " ) NO-ERROR.~n " .
362
+ ASSIGN vchrComma = " ," .
363
+ END . /** for each ttparam * */
364
+ {&WRITE-CODE} " )" .
365
+ END .
366
+ {&WRITE-CODE} " NO-ERROR.~n " .
356
367
{&WRITE-CODE} " ~n " .
357
368
358
369
/*Copiar los valores de las variables de salida */
@@ -372,7 +383,7 @@ DEFINE STREAM strFile.
372
383
IF ttParam.cDataType = " TABLE" THEN
373
384
DO :
374
385
/*{&WRITE-CODE} SUBSTITUTE(" setOutTable(iphndResponseMessage,""&1Array"",hnd&2).~n", (IF ttParam.cMethodName = "" THEN ttProcedure.cName + "_" ELSE "") + ttParam.cName, ttProcedure.cName + "_" + ttParam.cName). */
375
- {&WRITE-CODE} SUBSTITUTE (" setOutTable(iphndResponseMessage," " &1Array " " ,(BUFFER &2:HANDLE)).~n " , ( IF ttParam.cMethodName = " " THEN ttProcedure.cName + " _ " ELSE " " ) + ttParam.cName , ttProcedure.cName + " _" + ttParam.cName ).
386
+ {&WRITE-CODE} SUBSTITUTE (" setOutTable(iphndResponseMessage," " &1 " " ,(BUFFER &2:HANDLE)).~n " , ttParam.cName , ttProcedure.cName + " _" + ttParam.cName ).
376
387
END .
377
388
ELSE
378
389
DO :
0 commit comments