cancel
Showing results for 
Search instead for 
Did you mean: 

How to fill Request Message ID in SXMB_MONI

Former Member
0 Kudos

Hi,

I have Abap proxy inbound -outbound asynchronous communication between XI and ERP backend .

XI sends a kind of requests messages and the backend sends back messages with a kind of response.

In the Tc:SXMB_MONI I want to see the correlation between these two messages - for instance, to have an entry in column u201COriginal Message IDu201D or u201CRequest Message IDu201D, like it is made in synchronous communication.

I think I need to fill the message header (e.g. field Main/RefToMessageID) in the outbound proxy on the backend, but I donu2019t know how to do it. .

Thanks for your help,

Janos

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Thanks for suggestions.

Former Member
0 Kudos

I think if you just want to see the co-related messages, you can select the response message and then click on reference messages.

Thanks,

Hetal

Former Member
0 Kudos

I don't think this will work as the system cannot know which message is a response to which. This is the concept of asynchronous messaging.

You can get the original message ID by accessing the engine context in the inbound proxy processing. SAP offers standard libraries there. I'm not sure whether you can include it in the SOAP header of the response such that it appears in SXMB_MONI, but you could definitely add it to the payload.

Former Member
0 Kudos

Hi,

Thanks, but all that was said since now, I have already known. What I am asking it how to put some information by my choice (e.g. orig guid ) in SXMB_MONI. I am trying to avoid opening all messages and looking into payloads, one by one. So I am asking if this is possible or not from outbound proxy. One of the last column in the SXMB_MONI is named u201CUser Infou201D, and it always contains zeros. What is this for? Maybe this one can be also useful in my case.

Br, Janos

Former Member
0 Kudos

Hi Janos

I dont think the message ID can be correlated in Async message cases. In SXMB_MONI you would be getting different GUID's for both the message.

Whats the requirement in doing so.

Thanks

Gaurav

Former Member
0 Kudos

Hi Gaurav,

The requirement is to be able to quickly find a response message to a certain request message among the bunch of messages in sxmb_moni. The third party system that I communicate with, often experiences data loss, so I need to find a response based on guid of their original request message.

Br, Janos

Former Member
0 Kudos

Hi janos

Then i can suggest a way to meet this. There is no standard way to do it.

To get the message ID from the message you need to capture that in mapping.

This code should help you.

java.util.Map map = container.getTransformationParameters();
String msgid = (String) map.get ( StreamTransformationConstants.MESSAGE_ID);
return msgid;

Now Create a table either in Non SAP or SAP and do a lookup to write the values. I recommend create a Z table in XI and use RFC lookup to write values to it.

Now just write simple ABAP report to fetch these and give it to any one.

Moreover extend the report to get the values from SXMSMAST in XI to get payload attached to that Message ID.

Thanks

Gaurav

Former Member
0 Kudos

I think this content based monitoring is one of the most wanted features in PI. With some colleagues I built a special application for this. Basically it reads predefined XML tags from every message (customizable) and stores them together with the message id in a special database table. If you look for a message with a special content, you can use the application, search an order no., for example and then see some basic information like when data with this number was sent via which interface through the whole system landscape. Very interesting for Business Process Monitoring purposes. And it's not that difficult to do the coding. You need some ABAP knowledge, though, which I guess you have.