cancel
Showing results for 
Search instead for 
Did you mean: 

How to connect SAP PI 7.0 to Apache ActiveMQ?

Former Member
0 Kudos

Hi there,

I am working on getting an JMS-adapter connected and sending messages to an Apache ActiveMQ JMS-provider.

I use the JNDI-protocol with the following parameters:

JNDI lookup name of QueueConnectionFactory= ConnectionFactory

JNDI lookup name of JMS Queue= dynamicQueues/BusinessPartner

Name of JNDI initial Context Factory = org.apache.activemq.jndi.ActiveMQInitialContextFactory

JNDI server address = xxx.xx.xxx.xx:61616

I know I have to deploy a driver/client JAR-file containing a.o. the path and Java Class for 'ActiveMQInitialContextFactory', right?

Furthermore, on an ActiveMQ-site about connecting using JNDI (http://activemq.apache.org/jndi-support.html) it is mentioned to also deploy activemq-<version>.jar and spring-1.x.jar.

What do they add and where can I get the; also at the Provider?

Actually, I do not know If I shoud JNDI at all. Has anybody experience with PI and ActiveMQ?

Thank you all,

reg., Walter.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi all,

Issue is solved. Apparently the Java-version on our XI-server (1.4.2) could not handle the Vendor's JMS-driver we installed (ActiveMQ 4.1.2.jar) so we tried using the ActiveMQ 4.1.0.jar as the JMS-driver. Now it is OK and message are put on the destination queue.

Walter.

rubens_he
Explorer
0 Kudos

Hi,all,

I need to configure a JMS receiver adpter for a RFC-JMS scenario. My PI version is 7.0.2 and the target

JMS server is Apache ActiveMQ 5.4.2.

Since I test the scenario I got the following error message;

<SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30"

xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

<SAP:Category>XIAdapterFramework</SAP:Category>

<SAP:Code area="MESSAGE">GENERAL</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: No transition found from state: ERROR,

on event: process_commence for DFA:

FI_TAX_RECEIVER_CC:fbb5050eb2353a138fc3218171e93394</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

I have searched the problem but without exactly answers. Now I guess whether PI 7.0 with JDK 1.4 support

Apache ActiveMQ 5.4.2 or not.

Bythe way,the basis has already deployed the driver for ActiveMQ.

Former Member
0 Kudos

..So...

Now the Comm.Channel log says: "Successfully connected to destination '..<queuename>..' So connection can be established.

However when sending a message, the message ends up in an error, on the Adapter Engine, which says:

"Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Object not found in lookup of XIJMSService.: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of XIJMSService."

I already searched and tried, but no luck so far.

Anyone got any ideas..????

Thank you, Walter.

Former Member
0 Kudos

Well, it's not solved yet, but I think we are close to it.

This is what happend so far:

From the Apache site, I downloaded the ActiveMQ 5.2.0 version, as this is the version the Receiving party is using to create the JMS queue. The download contained a 'activemq-all-5.2.0.jar', which I asked the Technical Administration to deploy, according 'How To Install external drivers for JDBC and JMS adapter.pdf'.

The first test resulted in an error: "UnsupportedClassVersionError: (org/apache/activemq/jndi/ActiveMQInitialContextFactory) bad major version at offset=6 at .....". This indicated that our 1.4.2 Java version on the XI-server, can not handle the 1.5 Java Jar file, which seems obviious.

So I downloaded ActiveMQ 4.2.0 and asked to deploy 'apache-activemq-4.1.2.jar', hoping that this Java classes can put a file on a JMS queue from a higher Java version.

Now the Error changed to: "UnsupportedClassVersionError: (javax/jms/Queue) bad major version at offset=6".

Then I remembered to remove the standard JMS classes from javax/jms, as described in: http://help.sap.com/saphelp_nw70ehp1/helpdata/en/33/e6fb40f17af66fe10000000a1550b0/content.htm.

So I did, and asked to deploy the new Jar-file again. That's what I am waiting for...

to be continued..

Former Member
0 Kudos

Hi Marco,

Thank you, but I already checked them before. Actually, these were the only links and threads I could find on the internet and SDN, before posting this topic.

These links cover the connection from the Apache's point of view, but I need some guiding on configuring the SAP PI 7.0 side. I will investigate the files mentioned some more (activemq-<version>.jar and spring-1.x.jar).

I have also asked our ActiveMQ Implementation partner.

Thank you so far, I will keep this thread updated.

Reg., Walter.

Former Member
0 Kudos

Hi Walter,

Any updates from ur end?

Former Member
0 Kudos