on 05-20-2015 2:13 PM
Hi there,
currently we are in SAP PO single stack and my requirment is for each message I received irrespective of any interface from other system I need to log this audit information to an external auditing system via webservice, we have got webservice url now and here we need to publish few key values from the payload.
The key value which I'm going to pass will be same for all Interface message so I need to go for a generic approach here, can you pls suggest with a best approach to achieve this.
Regards,
Sethu.
Thanks for your help , here I'm not looking for any job or something which executes at a point of time rather when ever I receive a message or even say while processing the message I need to publish few values from the payload to the external audit tool which I already have the webservice url.
since my passing parameter is going to be same across for all interface Im looking for a generice approach so that I can use it in all interface.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Setharaman,
Let me to expose what i think about your requirement. First of all, you will need a way that it doesn't affect your PI performance, with this i want to mean that you should avoid to use a module bean, any kind of lookup, to send the messages to two receivers and so on. You would need a kind of job that would be raised out of office time, may be by night. There is a useful API that let you to get the audit log from PI and data from the payload and metadata communication information.
Pay attention and read carefully these two blogs:
You can offer to the second party tool several webservices in a PI SOAP to SOAP scenarios (sync).
They can call to PI with the entries like a range of time and you map to your SOAP receiver. Your SOAP will consume the WS of AdapterMessageMonitoringVi API. You can start with the Method getMessageList to give a list of messages. Also you can develop a second SOAP to SOAP scenario to let your second party tool access with the IDs of the first service to the desired messages. Finally the the second party tool would call these WS like a job during the night.
Hope i explain correctly, i'm not so good writing in english
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Just to add - I believe doesn't recommend to use the above API's on production systems and it does impact the performance due to heavy DB traffic.
I prefer the other approach itself i..e create an additional inbound interface and check maintain order run-time which ensures that information will only be reported if the message get's processed through PI.
That second interface is reusable.
When every inbound interface executes, in addition to your normal scenario,you need to extract some values from the source payload and publish to a webservice? Please correct if understood it differently.
Regards,
Saiyog
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
if you have to extract a few values from the inbound payload, then why dont you have another structure in your mapping for the Webservice call(multimapping), so whenever your inbound interface is executed, at the mapping level, you can map the input values to the wsdl structure for the webservice, this way you achieve both requirements, execution of your inbound inteface + sending data to your web service.
Regards,
Saiyog
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.