App Connect

 View Only
  • 1.  Sonic MQ Integration with IBM ACE 12 (JMS Nodes) ConnectTimeoutException

    Posted Wed November 09, 2022 05:36 AM
    Hi Team,

    I'm using Sonic MQ v10 for an integration with a IBM ACE.

    The details provided by the Sonic Team are:
    ===================================================
    Broker URL: tcp://dev-101:2056
    Domain Name: Lord101
    Queue Name: TEMP.IN
    Reply Queue Name: TEMP.OUT
    Username: Admin
    Password: Admin
    ===================================================

    My Sample Message Flow look like 

    MQInput Node --> MQ JMS Transform Node --> JMSOutput Node

    I've created a JMS Provider Policy with Sonic MQ template and is filled with below information :

    • Type 4 driver class JARs URL: provided all dependency JARS file location collected from SONIC Team : "/var/jarsSONIC"
    • JNDI bindings location: tcp://dev-101:2056
    • Initial context factory: com.sonicsw.jndi.mfcontext.MFContextFactory
    • Handle connection exceptions asynchronously: Set as True
    • Connection factory name: connectionFactory
    • XA is supported: true
    Also created jndi.properties file and placed under location "/var/jarsSONIC" with context as 
    com.sonicsw.jndi.mfcontext.domain=Lord101


    I've also run mqsisetdbparms command as below for securing the the connections:

    mqsisetdbparms -w c:\workdir\ACEServ1 -n jndi::com.sonicsw.jndi.mfcontext.MFContextFactory -u Admin-p Admin

    After running the application I'm getting below error

    Function:CHARACTER:JMSClientErrors:handleJNDIException()
    Type:CHARACTER:
    Name:CHARACTER:
    Label:CHARACTER:
    Catalog:CHARACTER:BIPmsgs
    Severity:INTEGER:3
    Number:INTEGER:4640
    Text:CHARACTER:Failure to obtain JNDI administered objects
    Insert
    Type:INTEGER:5
    Text:CHARACTER:Broker 'integration_server'; Execution Group 'POC'; Message Flow 'TEMP_JMS'; Node 'JMS Output::ComIbmJMSClientOutputNode'
    Insert
    Type:INTEGER:5
    Text:CHARACTER:com.sonicsw.jndi.mfcontext.MFContextFactory
    Insert
    Type:INTEGER:5
    Text:CHARACTER:tcp://dev-101:2056
    Insert
    Type:INTEGER:5
    Text:CHARACTER:connectionFactory
    Insert
    Type:INTEGER:5
    Text:CHARACTER:TEMP.IN
    Insert
    Type:INTEGER:5
    Text:CHARACTER:null Cause:com.sonicsw.mf.comm.ConnectTimeoutException: Timeout occured while attempting to connect
    Insert
    Type:INTEGER:5
    Text:CHARACTER: , Failure to obtain JNDI administered objects


    How to solve this?

    ------------------------------
    TARANDEEP JANDU
    ------------------------------


  • 2.  RE: Sonic MQ Integration with IBM ACE 12 (JMS Nodes) ConnectTimeoutException

    IBM Champion
    Posted Thu November 10, 2022 05:37 AM
    There should not be any JNDI bindings location, but a JNDI Provider URL=tcp://dev-101:2056

    ------------------------------
    Francois Brandelik
    ------------------------------



  • 3.  RE: Sonic MQ Integration with IBM ACE 12 (JMS Nodes) ConnectTimeoutException

    Posted Thu November 10, 2022 06:47 AM
    I guess there is nothing as JNDI Provider URL Property provided in the Policy Project or JMS nodes is IBM ACE v12.

    But as per the references below you need to provide such Url under the "JNDI bindings location".

    Reference:
    https://www.ibm.com/docs/en/app-connect/12.0?topic=nodes-jmsoutput-node
    https://www.ibm.com/docs/en/app-connect/12.0?topic=properties-jms-providers-policy-jmsproviders

    ------------------------------
    TARANDEEP JANDU
    ------------------------------



  • 4.  RE: Sonic MQ Integration with IBM ACE 12 (JMS Nodes) ConnectTimeoutException

    IBM Champion
    Posted Fri November 11, 2022 01:38 AM
    Edited by Francois Brandelik Fri November 11, 2022 01:49 AM
    Have you looked at https://www.ibm.com/docs/en/app-connect/12.0?topic=jms-enabling-providers-proprietary-api ?
    Also comes to mind that if you are referencing a JMS bindings location, I would expect it to be a directory for the com.sun.jndi.fscontext.RefFSContextFactory

    Did you reference the actual jars file or just the Sonic jars directory? Are there more than one jar file in that directory?

    Look at the other fields and maybe you need to use the JNDI environment parameters.
    Or you can create a file JNDI that references the Sonic JNDI? see:
    Hope this helps

    ------------------------------
    Francois Brandelik
    ------------------------------