App Connect

 View Only
Expand all | Collapse all

How to include shared library in mqsicreatebar command

  • 1.  How to include shared library in mqsicreatebar command

    Posted Mon July 17, 2023 12:13 PM

    Hi Team,

    I am using shared library in one of my project and I am using mqsicreatebar command to generate bar file, while doing this I am getting error Referenced project  doesn't exist on the file system.

    While using mqsipackagebar command I am able to generate bar file but this is not compiling flow before generating bar file.



    ------------------------------
    Sunil kumar Sure
    ------------------------------


  • 2.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue July 18, 2023 01:53 AM

    Hi Sunil

    mqsipackagebar and mqsicreatebar perform very different actions, have a read here: https://community.ibm.com/community/user/integration/blogs/matthias-blomme/2023/05/23/ace-bar-build-commands-unraveling-the-differences?CommunityKey=77544459-9fda-40da-ae0b-fc8c76f0ce18

    For the mqsicreatebar command you actually work of a workspace and everything you need to build your bar file should be present in that workspace. Mqsipackagebar doesn't require a workspace and will build with less dependencies present.

    If you are running on v11 or v12, look at the ibmint commands as well, they offer some benefits over the old mqsi commands.

    "Referenced project doesn't exist" just means that your application needs some projects that are not available at the build location.



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 3.  RE: How to include shared library in mqsicreatebar command

    Posted Tue July 18, 2023 03:36 AM

    Thank you Matthias for quick reply, I got difference between mqsicreatbar, mqsipackagebar and ibmint commands.

    My requirement is if any developer knowingly or un-knowingly did mistake in project he suppose to get some build error, by using mqsipackagebar and ibmint commands we will come to know this mistake/error only during deployment time. If we know build error prior to deployment we can save time without building and deployment of that project. 



    ------------------------------
    Sunil kumar Sure
    Hyderabad
    9700044393
    ------------------------------



  • 4.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue July 18, 2023 06:41 AM

    Hi Sunil

    That is correct. It sounds like you need to invest in a CI/CD setup. Or at leas incorporate some kind of testing in your build process.

    Basically 

    • ibmint package 
    • integrationserver --work-dir
    • ibmint deploy 

    That packages and deployes to a local standalone integration server giving you all the errors that might occur. Of course you can also use AceCC or other container based setup.

    Build errors will show up in the toolkit anyway, so not sure what mistakes you are referring to. The mqsicreatebar has the full backing of a toolkit and thus can detect a lot of errors. The other commands don't give that, so you need a local runtime that can give you the same analysis.



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 5.  RE: How to include shared library in mqsicreatebar command

    Posted Mon September 25, 2023 08:05 AM

    Hello Matthias

    How do we deploy the shared libraries with subflows in integration server container if the amin flow and the shared library are in different repo path in gitlab.



    ------------------------------
    madhu ram
    ------------------------------



  • 6.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Tue September 26, 2023 01:18 AM

    Hi Madhu

    It depends a bit if you are running on the ace cc container or on an operators. Typically, for containers, you will want to create what you are going to run either via config (like an openshift integrationruntime file) or actually by supplying the code (for instance when running in a docker container) before you actually start your runtime.

    There is no one way of doing this.

    If you are running on a openshift, you can define multiple bar files in an integrationruntime configuration resource, you just need somewhere to store the bar files. This can be on a dashboard operator or some artefact storage location.

    For a docker image you can just use mqsideploy to deploy everything you need. Any required library is referenced by you application anyway, so you can easily find out which ones these are by looking in the project file and getting those bar files from your artefact storage location.

    If you want to prevent any errors, you can create a workdir in your docker image before starting it. If you want to try to do this locally, just run mqsicreateworkdir first, then deploy then start with the integrationserver command.

    Hopes this helps



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 7.  RE: How to include shared library in mqsicreatebar command

    Posted Tue September 26, 2023 01:52 AM
    Edited by madhu ram Tue September 26, 2023 01:56 AM

    Thanks for the reply.. 

    I have created new thread for an issue am facing.. could you please help....

    https://community.ibm.com/community/user/integration/discussion/issue-while-deploying-shared-library-with-subflow?ReturnUrl=%2fcommunity%2fuser%2fintegration%2fcommunities%2fcommunity-home%2fdigestviewer%3fCommunityKey%3d77544459-9fda-40da-ae0b-fc8c76f0ce18

    ------------------------------
    madhu ram
    ------------------------------



  • 8.  RE: How to include shared library in mqsicreatebar command

    Posted Mon October 23, 2023 01:50 AM
    Edited by madhu ram Thu October 26, 2023 04:17 AM

    Hello @Matthias Blomme,

    I followed your steps above for   docker image , but facing few issues

    • I have the  bar file for the common library in the artifactory now
    • I used the ibmint deploy command to deploy the bar to the server
    • Now the main flow  (which references the subflow) is deployed in the server using the ibmint deploy
    • when I run the ibmint optimize server command it says "BIP1360E: Message flow node 'getResult', 'first_test#FCMComposite_1_3' in message flow 'first_test' in Application 'Test' requires subflow 'getResult.subflow' which is not deployed.
      BIP15236E: Optimization not possible. Configuration resolution incomplete. See previous messages.
    • I created a work directory and deployed both the flow.    Any inputs form your side ? Please help

    Regards

    Madhu



    ------------------------------
    madhu ram
    ------------------------------



  • 9.  RE: How to include shared library in mqsicreatebar command

    IBM Champion
    Posted Thu November 02, 2023 02:30 AM

    Hi Madhu

    Difficult to diagnose from afar.

    Can you send me a project interchange so I can test it?



    ------------------------------
    Regards
    Matthias Blomme
    ------------------------------



  • 10.  RE: How to include shared library in mqsicreatebar command

    Posted Tue October 31, 2023 03:11 PM

    I see that you're encountering an issue with the `mqsicreatebar` command when working with a shared library in your project. It seems that the error message you're receiving is "Referenced project doesn't exist on the file system," and you've found an alternative with `mqsipackagebar` but it doesn't compile the flow before generating the BAR file. Here's some guidance to help you address this issue:

    1. **Check Project References**:
       First, double-check that the referenced project you are trying to include in your BAR file actually exists in the specified location. Ensure that the paths and project names are accurate. If it doesn't exist, create the referenced project.

    2. **Project Dependencies**:
       Make sure that the project you are referencing has all its dependencies resolved. If there are any unresolved dependencies, it can lead to issues when creating a BAR file.

    3. **Include Necessary Resources**:
       Verify that all the required resources, such as configuration files and libraries, are properly configured in your project. These resources should be present and accessible for the `mqsicreatebar` command to work correctly.

    4. **Compile Flow**:
       To compile the flow before generating the BAR file, you may need to use an integration server (e.g., IBM Integration Bus or IBM App Connect) to build and deploy your application. The `mqsipackagebar` command is more focused on packaging and deploying rather than compilation. Ensure that your flow is built and deployed properly in your integration server.

    5. **Log Files and Error Messages**:
       Review the error messages in more detail. They may provide specific information about what's missing or where the problem lies. Check the log files generated during the build process for additional clues.

    6. **Verify Toolkit Configuration**:
       Ensure that your IBM Integration Toolkit (or any other relevant tool) is properly configured and that it can find all the required projects and resources.

    7. **Check Project Structure**:
       Examine the structure of your project. Sometimes, incorrect or missing project structure can lead to issues during the bar file generation process.

    8. **Documentation and Support**:
       Consult the documentation for the tools you are using (IBM Integration Toolkit or related tools) and look for community or official support forums where others might have encountered similar issues.

    9. **Update Tools and Libraries**:
       Make sure that you are using the latest versions of your development tools and libraries. Sometimes, updating to the latest version can resolve compatibility issues.

    10. **Contact Support**:
        If all else fails, consider reaching out to IBM support or the support community for the specific tool you're using. They may have insights into this issue and provide a solution.

    Remember that the specific steps and commands may vary depending on the version of the integration tools you're using, so consult the documentation for your particular setup. If you can provide more details about your project setup and the specific error message, I can offer more targeted assistance.



    ------------------------------
    Abu Saleh
    ------------------------------