cancel
Showing results for 
Search instead for 
Did you mean: 

syncronous message gets expired even if expiration settings are OK

Former Member
0 Kudos

Sometimes a syncronous interface scenario SOAP-XI->RFC cancels with error com.sap.aii.af.ra.ms.api.MessageExpiredException: Message d3825660-1d5d-11db-aeb9-00112540039c(INBOUND) expired.

Usually - as mentioned in some of message threads in this forum - this error means that the timeout parameters of RFC adapter or J2EE engine are incorrect. But this is not the case, the parameter setting are OK. Additionally the start and ending times in message monitor are equal (within same second), thus for me indicating that it cannot be a timeout problem. Or is there a bug in message monitor that is shows start and ending date the same within this type of error?

Additionally if I executed the RFC function module in backend SAP system with same parameters as in the XI's call, and there is was no response problem.

Is there any other logical cause for expiration?

The XI logs does not tell much more than just this message expiration.

Some funny remark is also, that with these error situations, the message monitor shows the response message first and after that the request message. It should be vice versa I think.

We have got 3 Java servers and I think these cancelled messages was executed with server instance 0.

This problem only happens occasionally ( ~1-10 errors per day ) out of thousands of other successfull RFC interface calls. The interface that causes the error is not always the same either. There are 100 other syncronous interfaces and at the same time there could only a few in processing simultanously.

Best regards,

Kim

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi Kimmzini,

i had some trouble with XI RFC scenarios as well. Best and recommended by SAP is to use ABAP proxys. The (RFC) adapter engine is an additional, not required, unstabil application in the message flow, if your R/3 has a WAS you should think about that. I had to change a lot interfaces; the easiest way to do is to use the proxies as wrapper, which call a local function modul.

Regards,

Udo

Former Member
0 Kudos

Thanks, Udo,

but switching from RFC scenario to Proxy scenario is not an option for us ( somebody have to pay the changes ). But with new interfaces we consider using proxys.

br: Kim

udo_martens
Active Contributor
0 Kudos

Hi Kimmzini,

you can have it very cheap: Use the proxies as wrapper. Just put there "CALL FUNCTION BLA..." and everything is working like before but without RFC adapter.

The alternative is to have never ending trouble with RFC adapter. It depends how important delivery of messages for you is.

Regards,

Udo

Answers (0)