cancel
Showing results for 
Search instead for 
Did you mean: 

SAP JMS Provider Metadata

Former Member
0 Kudos

Hi all,

is it possible to send metadata with JMS Messages using the SAP JMS provider built in in SAP Netweaver PI 7.1 Java Stack ?

I have a generic message format and the routing should be based on metadata for the JMS message.

Best regards,

Martin

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hopefully you understand what i mean.

I have a Java application which is sending messages to PI via JMS. Only the sending Java application knows the receiver for the message. It's not possible to determine the receiver by PI as the message just contains raw data and the receiver can't be determined out of this.

So we would like to send the receiver as metainformation, which is not part of the message itself and subsequently base the receiver determination in PI on this metadata.

Best regards,

martin

bhavesh_kantilal
Active Contributor
0 Kudos

The answer to your question is going to be how is XI going to get the second / receiver JMS message from the JMS provider?

if you can use java api's to read this message, then maybe you can consider using enhanced Receiver Determination that will use java api's to read the second JMS message and then route it as needed and so on.

But using Java API's to read JMS message is something that is not recommended and another alternate would be to route the message to a BPM that will then determine receiver and send message over.

Best solution though is to tweak the Provider of JMS message to change data such that receiver is a part of message or store it in some database etc where a lookup from XI is possible .

Regards

Bhavesh

stefan_grube
Active Contributor
0 Kudos

You can put data into the JMS header.

The JMS adapter can read the JMS header ans store the values in ASMA.

You can do receiver determination based on ASMA.

Check online help for reading the JMS header:

"If you want to set additional JMS message attributes, select Specify Additional JMS Message Properties (Maximum of 10).

In the table, enter the Name and Java Type of the JMS message properties whose values are to be included in the message header of the PI message.

Under Java Type, you define the JMS Java message type for the attribute in the created JMS message. You can enter the following:

boolean

byte

short

int

long

float

double

String

The technical names of the additional attributes are DCJMSMessageProperty0, DCJMSMessageProperty1, ..., DCJMSMessageProperty9.

You can enter more than ten properties in the table. However, only the first ten are taken into account.

The attribute namespace for the adapter is http://sap.com/xi/XI/System/JMS.";

bhavesh_kantilal
Active Contributor
0 Kudos

Hello Martin

Can you explain this further please, with a example if possible.

Regards

Bhavesh