cancel
Showing results for 
Search instead for 
Did you mean: 

JMS Receiver Adapter to MQ - additional message property error

Former Member
0 Kudos

Hi,

I'm trying to add addional message properties to a Receiver JMS message for MQ Server queue. Creating the message in the MQ queue only works when I don't try to

add additional message properties. As soon as I try to add additional message properties the XI-Monitor says it's OK but there is no message in the queue.

Our system constellation is a bit odd cause we implemented the JMS/MQ classes of release 5.3 in XI/J2EE.

Our actual used MQ Server is on release 5.1 due to compatibilty reasons of other productive software.

Is there a need to use a MQ server of release 5.3 ?

Has anybody a step by step description for implementing a JMS receiver Adapter for MQ with with additional message property (f.ex. mesType = salesOrder) in the MQ header?

Thanx a lot in advance

Hans

Accepted Solutions (1)

Accepted Solutions (1)

ravi_raman2
Active Contributor
0 Kudos

Hi,

You also might want to look at sap note 856346...for this ..

2.6) I am connecting to a JMS provider using JNDI mode. How do I add pass an extra name,value property pair while setting up the JNDI initial context?

Answer: Assuming that your property value is a string, please add the following name, value pair in "JMS Additional properties" table of your channel configuration:

JNDI.InitialContext.property.X=java.lang.String propertyName, java.lang.String propertyValue

where X is a number, the LHS part needs to be put in the name column and the RHS part in the value column of the table respectively.

This note covers frequently asked questions that arise during the installation, configuration or administration of the XI JMS Adapter from the Adapter Framework (AF).

Other terms

JMS - Java Message Service

AF - Adapter Framework

AE - Adapter Engine

SP - Service Pack

Reason and Prerequisites

This note clarifies the frequently asked questions on the XI/PI JMS adapter for released 3.0, 7.0 and 7.1 in the form of an FAQ. References to external information is provided at the end.

Solution

1. Documentation

1.1) Where do I find the JMS adapter documentation?

Answer: In the SAP online help. Go to http://help.sap.com and select SAP Netweaver-> SAP Netweaver 7.1 or SAP NetWeaver 7.0 (2004s) or SAP Netweaver 2004. This opens up SAP Library topic page for that release.

For releases 3.0 and 7.0:

Select SAP Netweaver Library -> SAP Netweaver by Key capability-> Process Integration by Key Capability -> SAP Netweaver Exchange Infrastructure -> Runtime -> Connectivity -> Adapters -> JMS Adapter.

For releases 7.1:

Select SAP Netweaver Process Integration 7.1 -> SAP Netweaver Process Integration Library -> Function Oriented View > Advanced Adapter Engine.

In the topic page click on the JMS Adapter link.

Alternatively, you may simply enter the search string "JMS adapter" and navigate to the documentation page directly from the relevant search results. This is much faster.

1.2) Which JMS providers are supported?

Answer: The JMS Adapter supports JMS 1.02b and 1.1. JMS providers that also claim to be compatible with JMS 1.02b or 1.1 can be accessed using the JMS Adapter.

Furthermore, SAP makes no assertions as to whether a particular JMS provider is tested or can be recommended, because SAP has not set up a certification or testing process.

2. Functions and architecture

2.1) Does the JMS Adapter support JMS topics (publish&subscribe)?

Answer: No. Currently the JMS Adapter works with JMS queues because 100% Exactly Once (In Order) service quality can only be guaranteed with JMS queues. However, this capability might be planned for introduction at a future release. (no planned time estimate)

2.2) I have JMS message properties that are of significant. How do I get this data into XI? How do I get this data out of XI?

Answer:

A feature generically referred to as XI adapter-specific message properties was introduced in the adapter framework. This allowed additional adapter information to be attached to a XI message which can be used the routing, mapping and BPE. The message properties of different adapters are differentiated by namespaces.

If you are on XI 3.0 support pack 18 onwards, the JMS adapter allows you to copy JMS message properties into these XI adapter specific message properties (at the sender JMS channel), and to copy the values of XI adapter specific message properties back into JMS message properties (at the receiver JMS channel).

The JMS adapter currently supports upto 10 JMS message properties to be copied into the XI message properties with the name DCJMSMessageProperty0 to DCJMSMessageProperty9. The configuration details of how to achieve this are explained in the sub-topic pages of the JMS adapter documentation. (See sub topics: "Configuring the Sender JMS adapter", "Configuring the Receiver JMS adapter")

JMS Message properties can have values belonging to types: boolean, byte, short, int, long, float, double, and String (defined in the specification). These are all normalized to strings when converted to the their respective XI message properties at the sender JMS channel.

However, in the receiver JMS channel configuration, you can enter specific JMS message property types, such that these normalized XI message properties may be coerced back into their original types (or any compatible JMS message property type) when translating a XI message into a JMS message.

Transfer of custom JMS Message properties from/to XI adapters-specific message attributes is only supported for JMS compliant messages, i.e. this feature will not work for Websphere MQ in legacy mode.

Deprecated Information on this feature

Between support pack 14 to support pack 18, the JMS adapter allowed the allowed you append only up to two JMS string properties to the XI message in the sender channel, which could then be analyzed in XI routing, mapping and BPE. In the JMS receiver channel, the XI adapter-specific message attributes could be read, and up to two JMS string properties could be set. The names of the (now deprecated) XI message properties were DCJMSStringProperty1 and DCJMSStringProperty2.

Regards

Ravi Raman

Answers (2)

Answers (2)

ravi_raman2
Active Contributor
0 Kudos

Hans..

Also take a look at..

Note 902152:- JMS adapter bug fixes in adapter specific message properties.

Regards

Ravi Raman

ravi_raman2
Active Contributor
0 Kudos

Hans,

Where are you using the additional properties..there are 2 places to add them..for the msg..

One is under the JMSQueue text field..where you can set and/or replace default settings..

Second is when you check "use adapter specific message attributes"....

Regards

Ravi Raman