cancel
Showing results for 
Search instead for 
Did you mean: 

Relay message when the target system is down.

Former Member
0 Kudos

Dear all,

I've got a question relating to the MII.

I have the following scenario where the system A sends data to the system B, using SAP MII.

My question is If the MII sends the message to system B, the target system, and the same is down, the MII can hold the message in a queue for later transmission itself or not.

Regards,

Sérgio Salomã

Accepted Solutions (1)

Accepted Solutions (1)

lawrence_prinsloo
Participant
0 Kudos

Hi Sergio,

unfortunately, I jumped from 11.5 to 12.1, so I'm not sure if this functionality is in 12.0. 12.1 Webservice action block does have buffering capabilities:

- Retention Time in Days

- Max. Retry Count

- Retry Interval

- Processing type (synch/async)

In your case, I'd suggest the webservice returns a value if it executes and none if it doesn't. Based on this value, your transaction can then store the input parameters locally if the web service call didn't return a value and then use a scheduler to retry the webservice call. Painful, but if you've got a number of webservices you call, you could builld some kind of generic retry mechanism for all your now "buffered" web services. When the webservice executes correctly, you then delete the locally saved parameters.

Another option would be to look at the Message Queue Properties, but I haven't worked with that.

Sorry, no easy solution from my side.

Former Member
0 Kudos

I usually just use the message listener for something like this.

Shoot off a post to the message listener that is mapped by a rule to your processing transaction.

If it fails terminate the transaction an pick up the failed message for processing later with a scheduled job or manually.

I like this method better than the buffering because it gives you a little more control into monitoring and also handling errors.

Answers (1)

Answers (1)

jcgood25
Active Contributor
0 Kudos

This would depend on what specific version of MII you have, as well as the type of message communication you are using to System A and B.

Former Member
0 Kudos

Hi,

we are working with Version 12.0.6 Build(12) of MII.

how can I queue a message in the MII if the target system is down?

Regards,

Sérgio Salomã

Former Member
0 Kudos

Sergio,

is your target system a SAP system (meaning you are using RFC calls) or is it a database (meaning you are using queries)? Or is a server (using web calls)?

Michael

Former Member
0 Kudos

Hi Michael,

the target system is not a SAP system. The target system is developed in Java webservice in which the MII makes calls via webservice.

Independent of the platform of the target system, I need to have a mechanism in the MII that stores messages when the target system is down.

Could you help me?

Regards,

Sérgio Salomã

Former Member
0 Kudos

Sergio,

in 12.0 there are no out of the box buffering capabilities for Web Services. You may use the MII Queueing actions to queue the xml contents you want to sent. Schedule a job to read the queue entries and send them to the web service. If the call was successful, delete the queue entry, else leave it.

[MII Queue actions|http://help.sap.com/saphelp_xmii120/helpdata/en/46/726e818cf40ed5e10000000a155369/frameset.htm]

For SAP calls using JRA, you can switch on the buffering, as well as for MII queries. If a call fails, MII will buffer it. You can check the entries in MII Data Services > Data buffer entries. Scheduled jobs can resend the entries.

[MII Data buffering|http://help.sap.com/saphelp_xmii120/helpdata/en/45/515db282a33a16e10000000a1553f6/frameset.htm]

Hope this helps.

Michael