cancel
Showing results for 
Search instead for 
Did you mean: 

JMS - PI - IDoc scenario: possible to disable check for duplicate JMS message ID?

JaySchwendemann
Active Contributor
0 Kudos

Dear all,

we have a scenario JMS - PI - IDoc. We are on 7.4 SP 7 AEX.

Once and again we get this error in PI Logs


com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(MessageFilterContext filterCtx)

Duplicated and already processed JMS message with JMSMessageID ID:414d512053415050523120202020202053f0f4852000fb39 and XI message id b0beffdbcee64c2605779eaacf27b335 detected.

We are currently investigating the error and it seems that the duplicate message IDs already exist on the JMS (MQ) side. The messages with the same ID reside in the same queue but have different payloads, so really are different messages

While it's certainly true that we need to get rid of those duplicate IDs in the long run, I'd like to ask if it is possible to tackle the problem from both sides.

My sender JMS Adapter looks like this:

Transactional JMS Session = Checked

Set PI Message ID (MessageID) to = GUID

Set PI conversation ID (ConversationID) to = No Value

Enable Duplicate Handling = Unchecked

Prefix Channel ID = Unchecked

--> Is there any way to tell PI to just ignore the duplicate JMS ID and continue processing?

Many thanks

Kind regards

Jens

Accepted Solutions (1)

Accepted Solutions (1)

JaySchwendemann
Active Contributor
0 Kudos

I just wanted to let you know we could solve the issue.

Turned out that the sender was creating duplicate JMS message IDs with different payloads because there was insufficient initialization. So I didn't have to change anything on PI side.

However, there seems to be a possibility to have PI ignore duplicate JMS messages, as SAP support pointed out. Have a look at this note http://service.sap.com/sap/support/notes/1710948

Disclaimer: I didn't try this myself as I was able to resolve the problem from the sender side, so your mileage may vary.

Cheers

Jens

Answers (1)

Answers (1)

former_member184720
Active Contributor
0 Kudos

Hi Jens - Please have a look at the below note if it helps.


If you want the duplicate messages received from different channels (that is JMS Messages with the same Message ID) to be processed as a distinct JMS messages and not as duplicate messages, select Prefix Channel ID to JMS Message ID


Reference :


Configuring the Sender JMS Adapter - Advanced Adapter Engine - SAP Library

JaySchwendemann
Active Contributor
0 Kudos

Hi Hareesh,

thanks for the tip. I already tried that because ist sounded helpful. However in our current situation the messages (different payload but same JMS message ID) originate from the same MQ Queue and use the same PI communication channel. There's also now way to distinct any messages because they're virtually the same message type. The duplicate JMS ID could happen with any of those messages.

However, I'm not completely sure how the parameter "Set PI Message ID" in the sender CC works. It's currently set to GUID. Does this parameter refer to what is used as PI message ID or does it have something to do with the key that is used when story the actual JMS Messages to the database table "XI_AF_SVC_ID_MAP"?

former_member184720
Active Contributor
0 Kudos

>>>>However, I'm not completely sure how the parameter "Set PI Message ID" in the sender CC works. It's currently set to GUID. Does this parameter refer to what is used as PI message ID or does it have something to do with the key that is used when story the actual JMS Messages to the database table "XI_AF_SVC_ID_MAP"?

Though i'm not sure,It does both i guess.

Looking at the "XI_AF_SVC_ID_MAP" structure which has got two message ID fields, I assume it maps JMS message ID to PI message ID.

I don't have any running interfaces to validate. May be you can do a select on this table and share your findings if you can