App Connect

 View Only
  • 1.  mqsiapplybaroverride

    IBM Champion
    Posted Mon January 25, 2021 07:41 AM
    I am having a problem with an IIB message flow.
    I have been sent a message flow that has promoted properties. I tried to change the queue names but it is not working.

    mqbrkruser@myLinuxServer:~$ ls -lrt override.properties

    -rw-r--r-- 1 mqbrkruser mqbrkruser 58 Jan 23 22:12 override.properties

    mqbrkruser@myLinuxServer:~$

    mqbrkruser@myLinuxServer:~$ cat override.properties

    JCN_Multiple_Line_Transformtion#MQOutput.queueName=OUTCSV

    mqbrkruser@myLinuxServer:~$

    mqbrkruser@SATELLITE-L50D-B:~$ mqsiapplybaroverride \u2013b JCN_Multiple_Line_Transformtion.msgflow.generated.bar -p override.properties BIP8005E: Flag or argument '-b barFileName' missing.

    I have followed the rules to ensure the override.properties format is correct. What am I missing?



    The command will result in no action being taken, a required flag or a flag's argument is missing.



    Correct and reissue the command.



    BIP1136I: This command overrides properties in a BAR file.

    ------------------------------
    Amit Kapila
    Integration Developer
    eComm Europe Limited
    London
    UK
    amitkapila@hotmail.com
    +44 (0)2085707240
    +44 (0)7976529902
    ------------------------------


  • 2.  RE: mqsiapplybaroverride

    Posted Tue January 26, 2021 03:30 AM
    Hi!
    Do you have a copy/paste error in your post? Or did you not specify the barfile with the "-b" argument? That's also what the error message that you posted are saying: " BIP8005E: Flag or argument '-b barFileName' missing."

    Please try again using the "-b" argument.  Something like this in your case:
    "mqsiapplybaroverride -b JCN_Multiple_Line_Transformtion.msgflow.generated.bar -p override.properties"

    If you get an error like this:
    "BIP1138I: Applying overrides using runtime mqsiapplybaroverride...
    BIP1055W: The BAR file did not contain a top-level deployment descriptor."
    Then adding a "-r" will likely solve that last thing.


    ------------------------------
    Lars Dehli
    ------------------------------



  • 3.  RE: mqsiapplybaroverride

    IBM Champion
    Posted Tue January 26, 2021 03:49 PM
    I 100% supplied the -b parameter. I did exactly as you suggested.

    mqbrkruser@SATELLITE-L50D-B:~$ mqsiapplybaroverride -b JCN_Multiple_Line_Transformtion.msgflow.generated.bar -p override.properties
    BIP1049E: The BAR file does not exist.

    The bar file 'JCN_Multiple_Line_Transformtion.msgflow.generated.bar' could not be found on the file system.

    Reissue the command specifying the location of a valid bar file.

    BIP1136I: This command overrides properties in a BAR file.

    Syntax:
    mqsiapplybaroverride -b barFileName [-p overridesFile] [-m manualOverrides] [-k applicationName] [-y libraryName] [-r] [-o outputFile] [-v traceFileName] Command options:
    '-b barFileName' The name of the BAR file (in zip format) to be overridden.
    '-p overridesFile' The file name of the plain text file that contains one of these items: the integration node properties to be overwritten, the entire new deployment descriptor, or a BAR file that contains the entire new deployment descriptor.
    '-m manualOverrides' A comma separated list of key=value pairs that describe the overrides to apply. On Windows systems, the list must be enclosed in quotation marks (""). If used in conjunction with -p, the overrides that are specified with the -m parameter are performed after all overrides that are specified by the -p parameter have been made.
    '-k applicationName' The name of the application to which the overrides will be applied.
    '-y libraryName' The name of the static library or shared library to which the overrides will be applied.
    '-r' requests that overrides are applied recursively through applications and libraries.
    '-o outputFile' The name of the output bar file to which the bar file changes are to be made. If this name is not specified, the input file is overwritten.
    '-v traceFileName' Verbose internal trace is sent to the specified file.
    Note: Overrides must be supplied either in the form FLOW#NODE.PROPERTY=NEWVALUE or in the form OLDVALUE=NEWVALUE. If the latter form is used, OLDVALUE must already be an overridden value in the deployment descriptor. Specify FLOW#NODE.PROPERTY on its own to remove an override.

    mqbrkruser@SATELLITE-L50D-B:~$ mqsiapplybaroverride -b JCN_Multiple_Line_Transformtion.msgflow.generated.bar -p override.properties -r
    BIP1049E: The BAR file does not exist.

    The bar file 'JCN_Multiple_Line_Transformtion.msgflow.generated.bar' could not be found on the file system.

    Reissue the command specifying the location of a valid bar file.

    BIP1136I: This command overrides properties in a BAR file.

    Syntax:
    mqsiapplybaroverride -b barFileName [-p overridesFile] [-m manualOverrides] [-k applicationName] [-y libraryName] [-r] [-o outputFile] [-v traceFileName] Command options:
    '-b barFileName' The name of the BAR file (in zip format) to be overridden.
    '-p overridesFile' The file name of the plain text file that contains one of these items: the integration node properties to be overwritten, the entire new deployment descriptor, or a BAR file that contains the entire new deployment descriptor.
    '-m manualOverrides' A comma separated list of key=value pairs that describe the overrides to apply. On Windows systems, the list must be enclosed in quotation marks (""). If used in conjunction with -p, the overrides that are specified with the -m parameter are performed after all overrides that are specified by the -p parameter have been made.
    '-k applicationName' The name of the application to which the overrides will be applied.
    '-y libraryName' The name of the static library or shared library to which the overrides will be applied.
    '-r' requests that overrides are applied recursively through applications and libraries.
    '-o outputFile' The name of the output bar file to which the bar file changes are to be made. If this name is not specified, the input file is overwritten.
    '-v traceFileName' Verbose internal trace is sent to the specified file.
    Note: Overrides must be supplied either in the form FLOW#NODE.PROPERTY=NEWVALUE or in the form OLDVALUE=NEWVALUE. If the latter form is used, OLDVALUE must already be an overridden value in the deployment descriptor. Specify FLOW#NODE.PROPERTY on its own to remove an override.

    mqbrkruser@SATELLITE-L50D-B:~$


    ------------------------------
    Amit Kapila
    Integration Developer
    eComm Europe Limited
    London
    UK
    amitkapila@hotmail.com
    +44 (0)2085707240
    +44 (0)7976529902
    ------------------------------



  • 4.  RE: mqsiapplybaroverride

    Posted Wed January 27, 2021 05:54 AM
    Hi.
    In your first post, you got this error:
    BIP8005E: Flag or argument '-b barFileName' missing.
    And in your second post, you got:
    The bar file 'JCN_Multiple_Line_Transformtion.msgflow.generated.bar' could not be found on the file system.

    You need to look at the feedback the command gives you, and act accordingly. In your second attempt, it seems the barfile itself isn't present in your working directory (at least not with that file name). Either change directory to where you have the barfile, or add a path to the barfile parameter, or copy the barfile into the directory where you try to do the override.

    Hope it helps.


    ------------------------------
    Lars Dehli
    ------------------------------



  • 5.  RE: mqsiapplybaroverride

    IBM Champion
    Posted Wed January 27, 2021 08:44 AM
    Hey Lars,

    Thank you for putting in the time.

    Here is my output. Please let me know if you want me to clarify anything. I went to the correct directory. I have listed the file in the present working directory. I have used dot notation to leave no ambiguity about which file I mean.

    mqbrkruser@SATELLITE-L50D-B:~/IBM/IIBT10/workspace/GeneratedBarFiles/JCN_Transformtions$ pwd
    /home/mqbrkruser/IBM/IIBT10/workspace/GeneratedBarFiles/JCN_Transformtions
    mqbrkruser@SATELLITE-L50D-B:~/IBM/IIBT10/workspace/GeneratedBarFiles/JCN_Transformtions$ ls -l JCN_Multiple_Line_Transformtion.msgflow.generated.bar
    -rw-r--r-- 1 mqbrkruser mqbrkruser 18980 Jan 27 08:05 JCN_Multiple_Line_Transformtion.msgflow.generated.bar

    mqbrkruser@SATELLITE-L50D-B:~/IBM/IIBT10/workspace/GeneratedBarFiles/JCN_Transformtions$ mqsiapplybaroverride –b ./JCN_Multiple_Line_Transformtion.msgflow.generated.bar -p ~mqbrkruser/override.properties
    BIP8005E: Flag or argument '-b barFileName' missing.

    The command will result in no action being taken, a required flag or a flag's argument is missing.

    Correct and reissue the command.

    BIP1136I: This command overrides properties in a BAR file.

    Syntax:
    mqsiapplybaroverride -b barFileName [-p overridesFile] [-m manualOverrides] [-k applicationName] [-y libraryName] [-r] [-o outputFile] [-v traceFileName] Command options:
    '-b barFileName' The name of the BAR file (in zip format) to be overridden.
    '-p overridesFile' The file name of the plain text file that contains one of these items: the integration node properties to be overwritten, the entire new deployment descriptor, or a BAR file that contains the entire new deployment descriptor.
    '-m manualOverrides' A comma separated list of key=value pairs that describe the overrides to apply. On Windows systems, the list must be enclosed in quotation marks (""). If used in conjunction with -p, the overrides that are specified with the -m parameter are performed after all overrides that are specified by the -p parameter have been made.
    '-k applicationName' The name of the application to which the overrides will be applied.
    '-y libraryName' The name of the static library or shared library to which the overrides will be applied.
    '-r' requests that overrides are applied recursively through applications and libraries.
    '-o outputFile' The name of the output bar file to which the bar file changes are to be made. If this name is not specified, the input file is overwritten.
    '-v traceFileName' Verbose internal trace is sent to the specified file.
    Note: Overrides must be supplied either in the form FLOW#NODE.PROPERTY=NEWVALUE or in the form OLDVALUE=NEWVALUE. If the latter form is used, OLDVALUE must already be an overridden value in the deployment descriptor. Specify FLOW#NODE.PROPERTY on its own to remove an override.
    mqbrkruser@SATELLITE-L50D-B:~/IBM/IIBT10/workspace/GeneratedBarFiles/JCN_Transformtions$

    Clearly I am using the correct parameter and the bar file is correctly identified. I guess I can work around this. I have managed to rebuild the flow from scratch so that I am not using an imported BAR. It is working fine now. So I am good as I write this.

    Take care mate,

    Amit

    ------------------------------
    Amit Kapila
    Integration Developer
    eComm Europe Limited
    London
    UK
    amitkapila@hotmail.com
    +44 (0)2085707240
    +44 (0)7976529902
    ------------------------------



  • 6.  RE: mqsiapplybaroverride

    Posted Tue January 26, 2021 03:31 AM
    Hi Amit,

    it seems as if you copied your command from an editor that uses Rich Text formats.
    Your '-b' appears as '\u2013b'. U-2013 is the unicode dash.
    Either try to type the command in or construct it with ASCII characters.

    Hope this helps,
    Peter


    ------------------------------
    Peter Bosze
    ------------------------------



  • 7.  RE: mqsiapplybaroverride

    Posted Tue January 26, 2021 04:09 AM
    Edited by Martin Evans Tue January 26, 2021 04:30 AM
    Hi Amit,

    You could also consider using a destination list if you wanted to dynamically change the output node queue name.

    https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac04570_.html

    Regards,

    Martin


  • 8.  RE: mqsiapplybaroverride

    Posted Tue January 26, 2021 06:04 AM
    Edited by Martin Evans Tue January 26, 2021 06:06 AM
    Hi Amit,

    Apologies if you caught my earlier erroneous post, here's an example that works for me using a simple application called App_MQ with an MQ input/output node,

    type override.properties

    Flow_MQ#MQ Input.queueName=QUEUE.IN.NEW
    Flow_MQ#MQ Output.queueName = QUEUE.OUT.NEW

    mqsiapplybaroverride -b mybar.bar -k App_MQ -p over.txt

    BIP1138I: Applying overrides using runtime mqsiapplybaroverride...
    BIP1140I: Overriding property Flow_MQ#MQ Input.queueName with 'QUEUE.IN.NEW' in 'App_MQ.appzip/META-INF/broker.xml' ...
    BIP1140I: Overriding property Flow_MQ#MQ Output.queueName with 'QUEUE.OUT.NEW' in 'App_MQ.appzip/META-INF/broker.xml' ...
    BIP1143I: Saving Bar file mybar.bar...

    Displaying the queue status shows the flow connected to the new queue (see IPROCS value is 1),

    display qstatus(QUEUE.IN.NEW)
    3 : dis qstatus(QUEUE.IN.NEW)
    AMQ8450I: Display queue status details.
    QUEUE(QUEUE.IN.NEW) TYPE(QUEUE)
    CURDEPTH(0) CURFSIZE(1)
    CURMAXFS(2088960) IPPROCS(1)

    Another option if you don't want to use BAR overrides could be to use an alias queue on the queue manager.

    https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.2.0/com.ibm.mq.pro.doc/q003120_.html

    Regards,

    Martin