on 01-04-2010 9:36 PM
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ã
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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ã
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
User | Count |
---|---|
12 | |
7 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.