Use ODI with JMS Queue

I'm new user in ODI and also JMS. I successfuly use odi to integrate data from two oracle database applications. I'm trying to integrate applications using JMS Queues (or Topics) and I failed to create odi "data server" for this technology. Can someone help me to do this or give me a sample to follow it?
thanks.

Hi there,
You can actually create 2 different types of connections to a JMS Queue or Topic. Flat or XML. The simplest to start with is flat. This will basically cause ODI to view the contents of the queue as simple flat file data. Note, this is a bit advanced use of ODI, so I would perhaps go through connecting to an RDBMS first before walking through this. It will make more sense.
To set this up, you will need to:
1. Copy the necessary client files from OC4J, place them in the <ODI_HOME>/oracledi/drivers directory and restart ODI. The files you need are:
- <OC4J_HOME>/j2ee/home/oc4jclient.jar
- <OC4J_HOME>/j2ee/home/lib/javax77.jar
- <OC4J_HOME>/j2ee/home/lib/jta.jar
Sop copy those files and restart ODI.
2. Create a physical connection (Topology Application/Physical Architecture/Technologies -> right click JMS Queues and select "Insert Data Server")
3. In the Description tab, simpl fill in the Name field.
4. In the JNDI tab , fille in the following:
- JNDI Authentication - Simple
- JNDI User: application user - this is the equivalent of javax.naming.Context.SECURITY_PRINCIPAL
- Password: application password - this is the equivalent of javax.naming.Context.SECURITY_CREDENTIALS
- JNDI Driver: This is the equivalent of javax.naming.Context.INITIAL_CONTEXT_FACTORY, so enter com.evermind.server.rmi.RMIInitialContextFactory
- JNDI Url: This is the equivalent of javax.naming.Context.PROVIDER_URL, so put in ormi://<hostname>[:<port>]/<application>. For instance, with the basic OC4J install, I put in ormi://localhost/default.
- JNDI Resource: This is the JNDI lookup key for your Queue Connection factory. For example, for the default OC4J installation, I put in jms/QueueConnectionFactory
5. Click the Test button and click OK in the window that pops up. You should get a message box saying that your connection was successful.
6. Click Apply or OK and a new window will pop up. In this window, go to the Context tab and click the Add button and in the row that appears, click on the right most field (it says <Undefined> and replace <undefined> with a logical name for your connection. Hit Enter and click OK)
7. You've now connected to the Queue, to create the Queue object in ODI, go to the Designer window, go to models and create a new model.
8. Set the name to whatever makes sense to you. Set the technology to JMS Queue and the Logical Schema to the logical connection name you created in step 6. In the Reverse tab, select Global from the Context dropdown menu.
9. Click OK. You now have a container for any Queues that are in this connection.
10. To point to the queue, right click your new model and select Insert Datastore.
11. In the new window, name your datastore whatever you'd like. Set the resource name to the JNDI resource name for the queue (for example, with the default OC4J configuration, you could set this to jms/demoQueue.
12. In the Files tab, set the File Format to fixed, and set the record separator to Windows or Unix (it doesn't really matter which one you pick)
13. In the Columns tab, click the add button to add a column. Name the column something like DATA and set is to a String of size 1000.
14. Click OK. You'll now be able to right click this new datastore and view data, granted in a very simple format. You can create a more complex flat file structure if you' like but this gives you a quick and easy to view the contents of the queue.
I'd suggest trying to connect this way, post if you were successful and I will then post how to connect to an XML structured queue (it's a little teenie bit different)

Similar Messages

  • ODI integration with JMS Queue

    Hi,
    I've been searching for some instructions on how to integrate ODI with JMS Queue but there's a distinct lack of information on the internet.
    Can anybody point me to a step by step guide they have come across?
    Any help is gratefully received.
    Thanks
    Gav

    Hi Manish,
    As of now there is no out-box-adapter for JMS queue.
    If you don’t want JNBridge adapter (I hope you’re referring to same. There is no “jt” adapter as you mentioned), you can create a custom adapter which access the JMS queue.
    Use WCF LOB adaper (WCF Lob
    Adapter Wizard)and create an adapter.
    Following article details about the .NET code for messaging with JMS queue, try the code.
    Use JMS Messaging in your C# Applications
    And following articles give details about using WCF LOB adapter/Wizard:
    What Is the WCF LOB Adapter SDK?
    Sample:
    https://msdn.microsoft.com/en-us/library/bb798102.aspx
    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx
    Use similar code (one from above codeproject article where how to do messaging between JMS queue is shown) to wrapper it around custom WCF LOB adapter.
    Give it a try, if you don’t want to spend anything on a 3<sup>rd</sup> party adapter.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Dynamic queue name with JMS Queue XML?

    Hi,
    Is it possible to use dynamic queue name with JMS Queue XML?
    I tried using a variable in the JNDI URL, and supply the value in a package. I specified the following in the JNDI URL in the Topology:
    e.g.
    <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=#PROJECT_NAME.dest_var
    I declared and set the variable in a package, then tried to load data from the above data server to database. But executing this package gave me the following error:
    7000 : null : java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
    java.sql.SQLException: javax.jms.JMSException: Cannot find the target in JNDI (#PROJECT_NAME.dest_var)
         at com.sunopsis.jdbc.driver.bg.executeQuery(bg.java)
         at com.sunopsis.jdbc.driver.bh.executeQuery(bh.java)
         at com.sunopsis.jdbc.driver.l.f(l.java)
         at com.sunopsis.jdbc.driver.l.executeUpdate(l.java)
         at com.sunopsis.sql.SnpsQuery.executeUpdate(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execSrcOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Am I doing it wrongly?
    Thanks!

    hi,
    as it's not in Adapter-Specific Message Properties
    http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm
    looks like you cannot do it with jms adapter in standard
    use proxy or your own adapter instead
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Integration with JMS queue from BizTalk 2013R2

    Hi All,
    We are planning to integrate biztalk application with Oracle Siebel CRM (8.1.1.11). they wanted to use JMS queue to receive xml message from BizTalk2013R2 and also send message to BizTalk for more reliability.
    IS there any out of box adapter by which we can connect to their JMS queue.
    We dont want to go with 3rd party software like jt adapter for JMS queue
    Regards,
    Manish
    Manish

    Hi Manish,
    As of now there is no out-box-adapter for JMS queue.
    If you don’t want JNBridge adapter (I hope you’re referring to same. There is no “jt” adapter as you mentioned), you can create a custom adapter which access the JMS queue.
    Use WCF LOB adaper (WCF Lob
    Adapter Wizard)and create an adapter.
    Following article details about the .NET code for messaging with JMS queue, try the code.
    Use JMS Messaging in your C# Applications
    And following articles give details about using WCF LOB adapter/Wizard:
    What Is the WCF LOB Adapter SDK?
    Sample:
    https://msdn.microsoft.com/en-us/library/bb798102.aspx
    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx
    Use similar code (one from above codeproject article where how to do messaging between JMS queue is shown) to wrapper it around custom WCF LOB adapter.
    Give it a try, if you don’t want to spend anything on a 3<sup>rd</sup> party adapter.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • JCA Message Inflow Integration With JMS Queue

    Hi,
    I want to integrate JCA message inflows with JMS Queue. I know JCA Message Inflow destination can be Message Driven Bean. But is it possible to specify a JMS queue as destination of JCA Message Inflow.
    i.e.
    JCA -> MDB -> JMS Queue
    OR
    JCA -> JMS Queue
    Thanks

    Hi Manish,
    As of now there is no out-box-adapter for JMS queue.
    If you don’t want JNBridge adapter (I hope you’re referring to same. There is no “jt” adapter as you mentioned), you can create a custom adapter which access the JMS queue.
    Use WCF LOB adaper (WCF Lob
    Adapter Wizard)and create an adapter.
    Following article details about the .NET code for messaging with JMS queue, try the code.
    Use JMS Messaging in your C# Applications
    And following articles give details about using WCF LOB adapter/Wizard:
    What Is the WCF LOB Adapter SDK?
    Sample:
    https://msdn.microsoft.com/en-us/library/bb798102.aspx
    http://geekswithblogs.net/michaelstephenson/archive/2009/02/10/129302.aspx
    Use similar code (one from above codeproject article where how to do messaging between JMS queue is shown) to wrapper it around custom WCF LOB adapter.
    Give it a try, if you don’t want to spend anything on a 3<sup>rd</sup> party adapter.
    Regards,
    M.R.Ashwin Prabhu
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • Why we use MQ not JMS Queues or AQ ?

    Hi,
    Is there any specific reason most of the companies using MQ for messaging and not using AQ or JMS Queues ?

    Hi,
    AFAIK, the companies that have IBM infrastructure in place prefer using the MQs. Also as MQ is capable of being accessed using JMS as well as MQ, it adds to the usability.
    Following could be helpful.
    How to configure MQ with WLS (JMS MQ vs Native MQ)
    Regards,
    Neeraj Sehgal

  • Working with JMS Queue

    Hi,
    I want to publish a message into a JMS but don't want to use any interface for it.Requirement is to publish certain variable values from the ODI package to the JMS. Is it possible using ODI Procedure, if yes, ps help me with the steps involved.
    2)How to call a Java function from ODI.[I can have a java function that pushes the message into the Queue]
    3)What is/are the possible ways to publish a message into a Queue, using ODI
    Thanks,
    Is

    Hi,
    2)How to call a Java function from ODI.I can have a java function that pushes the message into the QueueYou can call a java class from a jython Treatment line :
    - Pack your class in a .jar file
    - Put the file in the drivers' folder of ODI
    - In a Treatment line, you can call your class using : from myJavaPackage import myClass
    3)What is/are the possible ways to publish a message into a Queue, using ODIA former version of ODI has embedded a JMS Server, so there are several KM associated with this technology. If there are need for customization, I think using Jython and java classes may be a good solution.
    Personnaly, I haven't used ODI + JMS but these are the ways I'd investigate...
    Regards,
    ChrYStophe

  • ODI 11g : JMS Queue XML Data Server creation

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

    Hi Everybody,
    I am facing a problem while i am trying to create a JMS Queue XML data server in ODI 11g. I have
    the following details of the queue.
    QueueManager=xxx;
    TransportType=1;
    HostName=ab.cde.fe.com;Port=77777;
    Channel=CLIENT.TO.xxx1
    destination name : SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01
    user : xyz
    password : 123
    I have sussefully created an jms datasouce in weblogic name 'eis/jms/abc' and also I have successfully
    retrived the xml message from queue in BPEL
    (using a jms adapter where
    JMS Provider : Third Party,
    Jms Provider Jndi Name -eis/jms/abc,
    Operation name : consume_message,
    destinamtion name is queue:///SU.BH.RAJY.OTI.UPDATE_ITEM_RESPONSE.01?targetClient=1).
    But the new reqirement is to retive the xml data in ODI using "JMS Queue XML data server".I have tried
    several ways(reading from internet) but failed to configure physical dataserver and reverse the xml message.
    Also failed to understand properly the oracle post (http://docs.oracle.com/cd/E21764_01/integrate.1111/e12644/jms_xml.htm#CHDFCFBI).
    Speically this portion "JNDI URL: <JMS_RESOURCE>?d=<DTD_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>.".
    What will be the "JMS_RESOURCE" in my case.
    How can I configure JMS Queue XML?
    Please help!
    Note : I don't have the XML message structure of the Queue(also DTD file). So , I have to reverse it.
    Thanks & Regards,
    Subhra
    Message was edited by: SubhrajyotiKundu

  • Can we use ODI with Informatica for Planning and Essbase

    If we have Informatica datawarehouse, can I use ODI to integrate with Essbase and Planning ? Or do we need to buy informatica adapters for essbase/planning ?

    Thank you John, for your response. We are accessing our options as to which way to go. We dont have licenses for ODI for Essbase or Planning. We have informatica expertise we would like to use them. The confusion is should we buy the adapters for informatica or licenses for ODI. I understand having ODI with Informatica would add an additional integration layer.

  • Can I use ODI with Hyperion EPM 11?

    Hi,
    Can someone share Oracle Data Integrator compatibility for various Hyperion applications - Hyperion Planning, HFM, Essbase etc? Whether the ODI helps in updating the Dimension Library in the EPMA?
    Regards,
    Madhavi

    Hi Madhavi,
    Yes, you can. You have got knowledge modules and one can find info about it in the below mentioned doc
    http://www.oracle.com/technology/products/oracle-data-integrator/10.1.3/htdocs/documentation/oracledi_km_reference.pdf
    I would recommend you to post in the relevant forum of 'data integration', you might get more info
    Sandeep Reddy Enti
    HCC
    http://hyperionconsultancy.com/

  • Anybody made experiences with JMS Queue Receiver (QPAC)?

    you find my question in this thread:
    http://www.adobeforums.com/cgi-bin/webx/.3bc3bd03
    regards, nico

    Made progress on this issue... reade more hear:
    http://www.adobeforums.com/cgi-bin/webx/.3bc3bd03

  • Read message synchronously from JMS queue using OSB

    Hi,
    Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
    The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
    Let me know if there are any pointers.
    Thanks
    Sandeep

    Hi,
    I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
    We wanted to use in memory JMS queues in our situation.
    In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
    This is working for us without a problem
    Robert

  • Create jms queue xml data server

    Hi,
    What's the difference between jms queue and jms queue xml data servers and how to create jms queue xml data server.
    Thanks.

    Hello,
    JMS messages can principally be processed by Oracle Data Integrator in two formats:
    - JMS Messages: containers for rows of data, handled through JMS Queue/JMS Topic Technologies. With JMS Queue/JMS Topic technologies, each JMS destination is defined similarly to a flat file datastore. Each message in the destination is a record in the datastore.
    - XML Messages: containers for XML files, handled through JMS XML Queue/JMS XML Topic Technologies. With JMS XML Queue/JMS XML Topic technologies, each messages payload contains a complete XML data structure. This structure is mapped into a relational schema (XML Schema) which appears as a model. This use the Oracle DI Driver for XML (see the driver documentation in Oracle DI documentation).
    Find below a step by step creation process for such a destination:
    1. Data Server
    To create a JMS XML Queue data server, you declare a simple JNDI connection. The only JMS XML specific information is added to the URL. This information defines the XML file format.
    The JNDI URL should be : <JMS_RESOURCE>?d=<DTD_FILE>&f=<XML_FILE>&s=<SCHEMA>&JMS_DESTINATION=<JMS_DESTINATION_NAME>
    - JMS_RESOURCE: JNDI resource corresponding to your JMS queue that will contain the XML payload. You would specify this URL if you were managing normal JMS messages.
    - DTD_FILE: path to a DTD file that describes the XML structure. Mandatory if the parameter XML_FILE is omitted.
    - XML_FILE: path to the XML file with a structure similar to the expected XML messages. Mandatory if the DTD_FILE parameter is omitted.
    - SCHEMA: schema name that will contain the XML structure. This value must match the one set for the physical schema attached to this data server. This parameter is mandatory.
    - JMS_DESTINATION_NAME: name of the JMS queue or topic. This parameter is mandatory.
    2. Schema
    Creation is straightforward: In the Schema (Schema) and Schema (Work Schema), enter the name of the <SCHEMA> defined in the data server JNDI URL.
    3. Model
    Use standard reverse-engineering. As the Oracle DI Driver for XML is used the XML structure will be reversed as a relational structure.
    Regards,
    - FX

  • JMS Queue - lookup error

    Hi All,
    I have created a queue 'JMSTestQueue' through the Visual Administrator/ JMS Provider.
    I have also created an MDB in which the ejb-j2ee-engine.xml contains a parameter as
    <destination-name>JMSTestQueue</destination-name>
    Now, when I try to deploy my MDB I get an exception saying
    that
    javax.resource.spi.UnavailableException: The destination JMSTestQueue cannot be looked up. Last attempt performed : jms_vendor_queues_global/JMSTestQueue.
    Now here I can't understand that why the container is making a lookup in the path jms_vendor_queues_global.
    Because the JMS queue I have created has the JNDI path as
    jmsqueues/default/JMSTestQueue
    Another twist to the tale is that when I use the default JMS queue by the name 'JobQueue', then the MDB is deployed succesfully. This means the 'lookup' is successful.
    How do I solve this issue? I want to use a new JMS Queue with my MDB.
    I'll be really grateful, if someone can help me out.
    Thanks and Regards,
    Gagan Parhar.

    Hi All,
    I have created a queue 'JMSTestQueue' through the Visual Administrator/ JMS Provider.
    I have also created an MDB in which the ejb-j2ee-engine.xml contains a parameter as
    <destination-name>JMSTestQueue</destination-name>
    Now, when I try to deploy my MDB I get an exception saying
    that
    javax.resource.spi.UnavailableException: The destination JMSTestQueue cannot be looked up. Last attempt performed : jms_vendor_queues_global/JMSTestQueue.
    Now here I can't understand that why the container is making a lookup in the path jms_vendor_queues_global.
    Because the JMS queue I have created has the JNDI path as
    jmsqueues/default/JMSTestQueue
    Another twist to the tale is that when I use the default JMS queue by the name 'JobQueue', then the MDB is deployed succesfully. This means the 'lookup' is successful.
    How do I solve this issue? I want to use a new JMS Queue with my MDB.
    I'll be really grateful, if someone can help me out.
    Thanks and Regards,
    Gagan Parhar.

  • Integration with JMS Weblogic server, Couldn't connect to any host

    Hi ,
    I am doing XI to JMS integration(weblogic JMS server) ,have created a communication channel of type JMS and gave the following parameters.
    Transport Protocal  : Access JMS Provider with JNDI
    Message protocal    : JMS 1.X
    JNDI Lookup name with
    queueconnectionfactory :MyJMSConnectionFactory
    JNDI Lookup name with JMS Queue : MyJMSQueue
    Name of JNDI initial context factory : weblogic.jndi.WLInitialContextFactory
    <b>JNDI Server Address: http://isccap:7001/</b>
    all these parameters are working fine when used in a Client java program by which i am able to put and retrive message from Weblogic JMS server queue.
    But the same is not working in XI adapter ,
    I am getting the following error in adapter monitoring
    Zsrl_JMS_Reciever Receiver channel. Details: <u>Couldn't connect to any host</u>
    I guess the problem is with <b>JNDI Server Address: http://isccap:7001/</b>
    Is the format "http://host:port"  correct for weblogic server,
    are the JMS port and JNDI port same or different .
    I have deployed the required drivers "wlclient.jar" in XI server .
    Thanks in advance ,
    srikanth Lanka

    weblogic works on the Tenga3 protocol and hence the URL to connect to the JNDI provider of weblogic is
    t3://host:port
    At least in case of Weblogic you connect to your J2EE resources using your JNDI registry so the port would be the same.
    Rgds,
    Amol

Maybe you are looking for

  • Quality Management v9 - Recording file is .spx and size of 0 kb

    Guys, I have theses versions here : CUCM v9.1.2 Quality management 9.0.1.57 UCCX 9.0.2.11001-24 Desktop are connected on the PC port of the phone ! I want to do the desktop recording and I have an issue where the storage location contains only .spx f

  • Reading and recording at the same time with AudioUnit

    Hi, I am trying to read and record at the same time on the iPhone with AudioUnit. For the reading part I made an AUGraph which works fine, constructed like that: NewAUGraph(&_graph); _outputUnitComponentDescription.componentType = kAudioUnitType_Outp

  • Missing download not showing in my library or files

    yes i did go to store thats where i found that i had no pending downloads its not in my library or my music files i cant find it .as i read i see that i,m not the only one thats had this problem !

  • What now with these license?

    Hi, i got these License Claim:  WEBEX-UWL-BE-PAK - WebEx PAK - CUWL BE Can someone explain, what to do with it? Understand i right, that these are 25 Users for Webex? It was bought together with the Business Edition 6K. What can we use with this lice

  • BADI in ME52N Change Purchase Requisition

    Dear All,   I am working on ME52N (Change Purchase Requisition). I got the ME_PROCESS_REQ_CUST  BADIu2019s  in ME52N. I need to initialize the Purchase Requisition Number in ME52N Screen before ME52N screen is displayed. Can any suggest where shoul I