Adapter for Oracle AQ Advanced Queuing

Hi
Anyone know if wM6 has an adapter for Oracle’s AQ (Advanced Queuing) ?

Cheers.

I believe there is no such adapter released for this purpose.They have OracleAPPS adapter but i have no idea if this works for Oracle AQ.

Please contact WM Tech support if they can suggest you in the right direction.

Regards,

Josh,

It appears that you have at least three options. Oracle AQ provides a PL/SQL (JDBC) interface a JMS interface (AQJMS) and an XML servlet interface (AQXML).

PL/SQL

It /{should} be possible to use the IS JDBC adapter with the customSQL or storedProcedure template to execute the PL/SQL statements to define and enable queues and to create and send messages.

AQ JMS

I don’t think that Oracle AQJMS is one of the officially supported providers, but it should be possible to use the 6.1 JMS Adapter to define either a JMS Adapter QueueConnection or a JMS Adapter TopicConnection for queues and topics defined in Oracle AQ.

You will need the JNDI configuration information to complete the properties pages for one or both of these adapter connections.

Once you have defined a connection in the JMS Adapter’s administration pages you can create JMS adapter services using Developer 6.1. to produce or consume JMS messages.

You can also use the adapter’s admin pages to edit the polling interval behavior for a polling notification defined using Developer.

Soap

You can post soap messages whose body elements contain AQ commands such as AQXMLSend, AQXMLPublish, AQXMLReceive, etc. It is possible to perform point-to-point or pub-sub operations using this method.

References:

HTH,

Mark

Many thanks for your answer Mark.

There is AQ java API also.What are the issues if we use this from a java service.

Hi Guys,

I tried configuring oracle OC4J using JMS adapter.
However I am getting RMI error:

Error encountered
[ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource TestSkhapli.Conn:oracleJMSConn.
[ART.118.5063] Adapter Runtime (Connection): Unable to start connection TestSkhapli.Conn:oracleJMSConn: after 1 attempt(s).
[ART.118.5036] Adapter Runtime (Connection): Unable to configure connection manager.
[ADA.680.911] Exception Looking up JNDI Entry “jms/demoQueue”.
Lookup error: javax.naming.AuthenticationException: RMIConnection Disconnected; nested exception is:
javax.naming.AuthenticationException: RMIConnection Disconnected

Configurations :

Transaction Type - NO_TRANSACTION
JNDI Initial Context Factory - com.evermind.server.rmi.RMIInitialContextFactory
JNDI Provider URL - ormi://10.19.5.250:12401/default
JNDI Security Principal - oc4jadmin
JNDI Security Credentials - welcome1
QueueConnectionFactory JNDI Name - jms/QueueConnectionFactory

Regards,
Sumit

OC4J is an app server. I assume it has some type of JMS provider, but why would you connect to it via RMI?

Can you explain more about what you are trying to do? How are you using OC4J? Where are the topics and / or queues defined?

Mark

Hi Mark,

we have oracle 10.3 installed here with advanced queues.
I am very new to oracle AD stuff, but what we want here is to connect to oracle queue using JMS adapter.

Going through lots of docs, i came to know that oracle provides 2 kinds of JMS, OJMS and OC4J JMS. Well we want to connect to both and see which one is suitable.

I tried to configure but got above error, the username and password is correct and we could connect to using simple JAVA client. I can paste the java code but its fairly simple.

After this i tried different JNDI URL :

Initial Context : com.evermind.server.ApplicationClientInitialContextFactory
URL : opmn:ormi://gnwsydw2011362.genworth.net:12401/default

Got this error :

Error encountered

[ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource genworth10demo:TextMsgConnection.
[ART.118.5063] Adapter Runtime (Connection): Unable to start connection genworth10demo:TextMsgConnection: after 1 attempt(s).
[ART.118.5036] Adapter Runtime (Connection): Unable to configure connection manager.
[ADA.680.201] Cannot connect to the JNDI Provider: "opmn:ormi://gnwsydw2011362.genworth.net:12401/default".
META-INF/application-client.xml not found (see J2EE spec, application-client chapter for requirements and format of the file)

I am not sure how to connect to oracle JMS…

Regards,
Sumit

Hi Mark,

After coordinating with SoftwareAG guys, we realised that webMethods always provides “Entrust” security provider while oracle jms expects “Sun JCE”.

SoftwareAG guys wrote a simple program to rearrange the security provider list and made sure that Sun JCE comes as first in the list of security provider. Apart from that we have to copy couple of other jars in <IS_HOME>lib/jars and then it worked using the native messaging link on administration console.

The problem here is if you run the java program and rearrange the security provider list, the JMS Adapter stops working.

Well, i hope that upcoming version 7.1.2 which is due in OCT or NOV this year should fix all these problems and start supporting oracle jms officially.

Regards,
Sumit

Hi,

I was wrong about JMS adapter getting stop after oracle aq configuration with native messaging.

Everything works fine after we do above setup.

Regards,
Sumit

Hi,

Can you please let me know the way you are able to connect to oracle Oc4j JMS provider? I am having a similar exception as you have and i am really struggling to get around this.

Can you please throw some light and if possible share the java library given by software AG?

Thanks,
Charan

Hi,

Try this :

Provider sunjceProvider = Security.getProvider(“SunJCE”);
if (sunjceProvider != null) {
Security.removeProvider(“SunJCE”);
Security.insertProviderAt(sunjceProvider, 1);
}
IDataCursor idc = pipeline.getCursor();
Provider p = Security.getProviders();
idc.insertAfter(“secprov”, p);
idc.destroy();

Regards,
Sumit