I'm an trainee (only two weeks old so bear with me please :) ) in a company's Integration and Middleware department and my task was to research and implement a solution to migrate an AQ service from 10g to 11g.
We are running WebLogic Server Version: 10.3.6.0
Using an already existing db and this tutorial [https://blogs.oracle.com/soaproactive/entry/jms_step_6_how_to] I implemented the following components:
Weblogic DATA Source
• Name: AIA_AQ_jmsuserDataSource
• JNDI Name: jdbc/AIA_AQ_jmsuserDataSource
• DBType: Oracle
• DB Name: VAIAD
JMS System Module
Local JNDI Name: AIA_AQ_JmsFSConnectionFactory
Remote JNDI Name: XAQueueConnectionFactory ??? *(I don't know if this was the correct way to name it, I just followed the website's recommendation regarding Oracle's Best Practices)*
Local JNDI Name: aq/AIAAQ
Remote JNDI Name: Aq/AIAAQ
My JNDI Tree Structure is as follow:
---->AIA_AQ_JmsFSConnectionFactory *(which has the following warning "Cannot resolve name:aq/AIAAQ/XAQueueConnectionFactory")* <--- I suspect the error is here
This is the error log of the service trying to connect to the Connection Factory:
<txt>JCABinding=> ScratchCardAQueueProducer:AIASystem.EBS.ScratchCardAQueueProducer [ Enqueue_ptt::Enqueue(Envelope) ] Could not invoke operation 'Enqueue' against the 'null' due to: </txt>
JCA Binding Component connection issue.
JCA Binding Component is unable to create an outbound JCA (CCI) connection.
ScratchCardAQueueProducer:AIASystem.EBS.ScratchCardAQueueProducer [ Enqueue_ptt::Enqueue(Envelope) ] : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510
JCA Resource Adapter location error.
Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/>
The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='aq/AIAAQ/AIA_AQ_JmsFSConnectionFactory'.
The reason for this is most likely that either
1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or
2) the '<jndi-name>' element in weblogic-ra.xml has not been set to aq/AIAAQ/AIA_AQ_JmsFSConnectionFactory. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR).
Please correct this and then restart the Application Server
Please make sure that the JCA connection factory and any dependent connection factories have been configured with a sufficient limit for max connections. Please also make sure that the physical connection to the backend EIS is available and the backend itself is accepting connections.
Any insight to why the structure isn't communicating like it should would be a lifeline to my situation.
The problem was that the Foreign Destination had the wrong infortmation about the queues existing in the db. Plus the existing queue had the "Enqueue" property disabled.
So the solution is to go to your db, see the created queue info, and paste it to the Foreign Destination like so:
Local JNDI Name: queue/AIA_SCRATCHCARD_AQUEUE
Remote JNDI Name: Queues/AIA_SCRATCHCARD_AQUEUE ---> ATTENTION to the s on queues_