Hi all,
I would like load JMS queue XML into an oracle table using ODI 11g.
I have created a queue on ActiveMQ 5.4.3 using Hermes v1.14 SoapUI and I have sent an XML message using SoapUI.
I have successfully created a data server for the JMS Queue XML technology with
In the JNDI tab:
JNDI Authentication --> None
JNDI User --> empty
Password --> empty
JNDI Protocol --> Undefined
JNDI Driver --> org.apache.activemq.jndi.ActiveMQInitialContextFactory
JNDI URL --> tcp://localhost:61616?d=C:/ProvaJMS/queue_examples.dtd&s=SCHEMAJMS&JMS_DESTINATION=prova
JNDI Resource --> ConnectionFactory
where "prova" is the name of queue and SCHEMAJMS is the name of physical schema attached to my data server.
I have only a local agent and so I don't have configured DATASOURCE tab on Physical Topology
I have reversed a JMS XML Model and I have created a packege with 2 interfaces (target on oracle tables):
in the first interface I have used LKM JMS XML to SQL with
SYNCHRO_JMS_TO_XML = true
JMS_COMMIT = false
in the second interface I have used LKM JMS XML to SQL with
SYNCHRO_JMS_TO_XML = false
JMS_COMMIT = true
When I run my package with local agent I have this error in the first interface at step - Loading Load JMS to XML:
ODI-1227: Task SrcSet0 (Loading) fails on the source JMS_QUEUE_XML connection ActiveMQ_examples.
Caused By: java.sql.SQLException: javax.jms.JMSException: ODI-40202: Cannot find the target in JNDI (queue.prova)
at com.sunopsis.jdbc.driver.SnpsDriverStatement.executeQuery(SnpsDriverStatement.java:110)
at com.sunopsis.jdbc.driver.SnpsDriverPreparedStatement.executeQuery(SnpsDriverPreparedStatement.java:139)
at com.sunopsis.jdbc.driver.JMSXMLPreparedStatement.loadJMS(JMSXMLPreparedStatement.java:758)
at com.sunopsis.jdbc.driver.JMSXMLPreparedStatement.execute(JMSXMLPreparedStatement.java:154)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)
at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:724)
anyone can help me???
thanks for helps in advance
Rosamaria