on 09-22-2016 11:35 AM
Hi Experts,
Our Scenario is Synch/Asynch scenario without BPM and we are using SAP Nfe standard content in our landscape.
Since the JMS adapter does not support synchronous communication, we have implemented synchronous communication using RequestOnewayBean,WaitResponseBean module in the receiver JMS adapter and NotifyResponseBean in the Sender JMS adapter.
Request message flow
SAP GRC --- Proxy --> SAP PI ---JMS--->WMQ
Response message flow
WMQ---JMS---> SAP PI ---Proxy ---> SAP GRC
Correlation Settings in Receiver JMS communication channel
--> Set JMS correlation ID to - XI Message ID
--> Store JMS correlation id of request.
--> Set time period for duplicate check for EOIO[Sec] - 86400
Correlation setting in sender JMS communication channel
--> Set XI message ID to - GUID [Recommended Value]
--> Set XI conversion ID to - stored JMS correlation id of request.
Error screenshot:-
Interface is working fine from long time and suddenly we got this error. As per my understanding response messages are not available in the MQ before message processing timeout, so the request messages got cancelled automatically after the specified timeout. May be MQ is placing response messages after timeout and SAP PI is don't have the active request message with correlation id to process the message.
Here are our open points
--> We would like to know the possible reasons for this error?
--> Will it be a SAP PI or WMQ issue?
--> Can we take any action from SAP PI to resolve this issue?
--> How to resolve this error?
--> Can we hold the synchronous request messages till it gets a response message irrespective of message timeouts[5 mins]?
--> If the response message is available in WMQ after timeout and there are bunch of response messages available in Queues [WMQ] can we check the correlation ID of each message and pick the relevant messages from queue? [ I think this doesn't make sense because it is a synchronous communication, so we should receive response message within specified timeout] correct me if I'm wrong?
--> How to intimate source system about the error message status?
For example, If we don't receive response message from the target application in synchronous scenarios, can we initiate some error message to source system?
Thanks in advance.
Regards
Revathi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
Can someone address the above queries?
Regards
Reavthi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
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.