IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

Not override a value in pipeline when call a flow service

  • 1.  Not override a value in pipeline when call a flow service

    Posted Sat March 28, 2020 11:15 AM

    This is not a big problem to me but it is something I wonder especially for recursived invoke step.

    I have the following flow service fs1

    MAP (Set Value = b to value)
    INVOKE myFolder:fs2 (Output = value to variable output)

    My Flow service fs2 :

    MAP (Set value = a to value)

    If I run fs1 I see two variables in pipeline
    value (= a)
    output (= a)

    The variable value in output from fs2 override the value variable in fs1.

    Is it existe something to prevent that ?

    fs1.PNg
    fs2.PNG


    #Integration-Server-and-ESB
    #webMethods


  • 2.  RE: Not override a value in pipeline when call a flow service

    Posted Mon March 30, 2020 05:43 AM

    Hi,

    Recursivity in the IS is not a transparent operation (neither is caching).

    Because the pipeline has always a global scope recursive functions require special handling:

    • don’t use the external variables (your inputs and outputs, and those of any invocation) internally
    • map your inputs as soon as possible, and drop them
    • map the results of any invoke to your local variables as soon as possible, and drop them and the named inputs of those calls too
    • map your internal variables to your outputs as late as possible, and drop them
    • scope your recursive call so that you don’t pollute your working variables

    Did this help?

    Best regards


    #Integration-Server-and-ESB
    #webMethods