Designing with Application Adapters

ProcedureTo Configure Inbound JMS Connections

  1. Open the IntegrationGateWay.properties file from the following directory:


    bea\wlserver6.1\config\peoplesoft\applications\PSIGW\WEB-INF

    where, bea is the WebLogic installation directory.

  2. Edit the file for the JMS queue listener properties.

    You can configure multiple queues by using the convention ig.jms.queue1, ig.jms.queue2, ig.jms.queue3, and so on. Configuring Inbound JMS Connections shows how the JMS listener is configured for the GenericOutQueue.

    ig.jms.Queues=1 

    “1” indicates only one queue. 

    ig.jms.Queue1=GenericOutQueue 

    The first queue name “GenericOutQueue”, must be the same in the .bindings file. The Java code used to generate the entry in the .bindings is: 


    queue = new STCQueue("GenericOutQueue");
    q = null;
      try {
              q = (Queue)
             jndifContext.lookup("GenericOutQueue");             
    System.out.println(q.getClass().getName());
                } catch (Exception e) {
                     System.out.println("fcontext 
    GenericOutQueue lookup exception");
                    e.printStackTrace();
                }
                if (q == null) {
                    System.out.println("q is null...bind 
    GenericOutQueue as GenericOutQueue");
                    jndifContext.bind("GenericOutQueue", 
    queue);            }

    ig.jms.Queue1.Provider=SunSeeBeyond 

    The “SunSeeBeyond” entry must match the configuration entry in the integrationgateway.properties file: 

    ig.jms.JMSProvider.JNDIFactory.SeeBeyond=com.sun.jndi.fscontext.RefFSContextFactory 

    ig.jms.Queue1.JMSFactory=QueueConnectionFactory 

    “QueueConnectionFactory” is the JNDI name in the .bindings file. Use the following Java code to generate the entry: 


    QueueConnectionFactory tgtqcf  = null;
                try {
                    /*you can change the jndi name here, 
    the jndi name use here must 
    be exactly same
                     *as in the websphere’s Generic JMS 
    Provider’s configuration 
    External JNDI Name
                     */
                    tgtqcf = (QueueConnectionFactory) 
    jndifContext.lookup("Queue
    ConnectionFactory");
                } catch (Throwable e) {
                    System.out.println("fcontext Queue
    ConnectionFactory lookup exception");
                    e.printStackTrace();
                }
                if (tgtqcf == null) {
                    System.out.println("fcontext Queue
    ConnectionFactory lookup is null...");
                                        
                    jndifContext.bind("QueueConnection
    Factory", srcqcf);
                } else {
                    System.out.println("fcontext Queue
    ConnectionFactory is NOT 
    null...unbind then re-bind QueueConnectionFactory");
                                        
                    jndifContext.unbind("Queue
    ConnectionFactory");
                    jndifContext.rebind("Queue
    ConnectionFactory", srcqcf);
                }

    ig.jms.Queue1.MessageSelector= 

    See the Java CAPS JMS Reference Java CAPS JMS Reference .

    ig.jms.Queue1.Url=file:c:/jndibindings/ 

    The URL of the .bindings file. Because PeopleSoft only supports fcontext, this is a directory name. 

    ig.jms.Queue1.User=Administrator 

    User name to Enterprise Service Bus JMS server. 

    ig.jms.Queue1.Password=SwBAuVVABok= 

    Encrypted value of the password to Enterprise Service Bus JMS server. Use the PeopleSoft utility pscipher to get the encrypted value. 

  3. Edit the file for the JMS queue listener properties.

    You can configure multiple queues by using the convention ig.topic1, ig.topic2, ig.topic3, and so on. The table shows how to configure the JMS topic to use the GenericOutTopic.

    ig.jms.Topics=1 

    “1” indicates only one topic. 

    ig.jms.Topic1=GenericOutTopic 

    The first topic name “GenericOutTopic”, must be the same in the .bindings file. The Java code to generate this entry in the .bindings is: 


    topic = new STCTopic("GenericOutTopic");
                t = null;
                try {
                    /*you can change the jndi name here, 
    the jndi name use here 
    must be exactly same
                     *as in the websphere’s Generic JMS 
    Provider’s configuration 
    External JNDI Name
                     */
                    t = (Topic) jndifContext.lookup
    ("GenericOutTopic");
                    System.out.println(t.getClass().
    getName());
                } catch (Exception e) {
                     System.out.println("fcontext 
    GenericOutTopic lookup exception");
                    e.printStackTrace();
                }
                if (t == null) {
                    System.out.println("t is null...bind 
    GenericOutTopic as 
    GenericOutTopic");
                    jndifContext.bind("GenericOutTopic", 
    topic);            }

    ig.jms.Topic1.Provider=SunSeeBeyond 

    The “SunSeeBeyond” entry must match the configuration entry in the integrationgateway.properties file: 

    ig.jms.JMSProvider.JNDIFactory.SeeBeyond=com.sun.jndi.fscontext.RefFSContextFactory 

    ig.jms.Topic1.JMSFactory=TopicConnectionFactory 

    “TopicConnectionFactory” is the JNDI name in the .bindings file. Use the following Java code to generate the entry: 

    TopicConnectionFactory tgttcf = null; 


                try {
                    /*you can change the JNDI name here, 
    the JNDI name use here must be exactly same
                     *as in WebSphere’s Generic JMS 
    Provider’s configuration External JNDI Name
                     */
                    tgttcf = (TopicConnectionFactory) 
    jndifContext.lookup("TopicConnectionFactory");
                } catch (Throwable e) {
                    System.out.println("fcontext 
    TopicConnectionFactory lookup exception");
                    e.printStackTrace();
                }
                if (tgttcf == null) {
                    System.out.println("fcontext 
    TopicConnectionFactory lookup is null...");
                    jndifContext.bind(
    "TopicConnectionFactory", srctcf);
                } else {
                    System.out.println("fcontext 
    TopicConnectionFactory is NOT null...unbind 
    then re-bind TopicConnectionFactory");
                    jndifContext.unbind(
    "TopicConnectionFactory");
                    jndifContext.rebind(
    "TopicConnectionFactory", srctcf);
                }

    ig.jms.Topic1.MessageSelector= 

    Refer to the queue table. 

    ig.jms.Topic1.Url=file:c:/jndibindings/ 

    Refer to the queue table. 

    ig.jms.Topic1.User=Administrator 

    Refer to the queue table. 

    ig.jms.Topic1.Password=SwBAuVVABok= 

    Refer to the queue table.