on 06-07-2007 9:07 AM
hi to all,
i need to connect XI to IBM Websphere MQ, using JMS adapter.
I did it well, i can exchange the message perfectly, but i have a strange behavior when websphere send message(XML) on queue with same_msgId for all message.
In this case i receive just the first of a series of message, and i "loose" the other, i know that the problem is the unique msgId of MQ, but how can i catch the error in jms adapter?
or how can i keep persistent the message in queue?
i've check the flag 'Transactional JMS session' to keep it persistent.
I wold like that mine JMS adapter answer with an error or don't consume the message keeping it in the queue.
thanks in advance
Claudio.
Hi Claudio,
i think your JMS adapter is working okay because it takes the first msg which it gets of a msgID...........Now xi has no way of knowing that multiple msgs it will get with same msgID as XI expects each msg to have a unique msgID.........So the problem lies with your Websphere MQ.......just see it that how you can avoid this thing of multiple msgs being generated with the same msgID by MQ as even if a batch program is creating these msgs in MQ, then also each msg should have a unique msgID for it........
Thanks,
Rajeev Gupta
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Claudio,
I too face a similar issue.
Mine is asynchronous jms-idoc scenario.
Rarely messages get lost.
According to certain sdn threads, it might be because of non-unique ids..
Any idea how to confirm its because of non-unique id?
Do we have any log anywhere?
how did you resolve the issue?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
<i>In the JMS sender adapter, the XI Message ID can be defined as GUID, JMS
Message ID, JMS Correlation ID, or JMS Property. The resulting ID must comply
with ISO-11578. Furthermore, <b>the JMS Provider has to ensure that the ID is
unique, otherwise message processing will fail</b>.</i>
According to
<i>i know that the problem is the unique msgId of MQ, but how can i catch the error in jms adapter?</i>
Form XI perspective, u may raise an alert.
Regards,
Prateek
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prateek,
i dont think by adapter module in this scenario you can raise an alert......because the problem is with uniqueness of msgID.........but every msg has a msgID so your adapter module will process every msg in the sameway.........but since the msgID is same, then only the first msg will be processed and the other msgs when they will try to store their msg processing data in XI database, they will fail because already the first msg processing data has that msgID, so the remaining msgs will be rollbacked by XI.............
Hi Claudio,
you will have to find a way in MQ to stop this thing of multiple msgs being generated by same msgID......i think there may be some property in MQ which will decide how and when a new msgID should be generated........just see this thing in MQ.............there should be a way in MQ which shall generate a unique msgID for each msg.........
Thanks,
Rajeev Gupta
hi Prateek,
i think it's difficult to raise an allert becouse i receive just the firs message and the othere are stored in:
SQL> desc XI_AF_SVC_ID_MAP;
Name Null? Type
-
-
-
MSG_ID1 NOT NULL NVARCHAR2(63)
MSG_ID2 NOT NULL NVARCHAR2(63)
PERSIST_UNTIL NOT NULL TIMESTAMP(6)
the message remain in this table as you specified in the parameter into the CC.(TIme period for Duplicate Check for EO(IO) sec).
thanks
Claudio.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.