Skip to Content
0

status of message in sync-async brige

Aug 16, 2017 at 10:45 AM

59

avatar image
Former Member

Hi Experts,

I have a requirement in which, PI is consuming WS(sync) from third party and sending it back to ECC system(adapter not decided yet)

but in addition to it, customer wants that 3rd party system should get a response back, detailing if message has been processed by PI system or not, without getting ECC involved

so basically its like ws(sync)<..>PI ..>ecc(asyn)

Is it Possible to know status of messgae?

I know just abt sync async bridge

Pls note PI system is at 7.31

Thanks

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Evgeniy Kolmakov Aug 16, 2017 at 08:08 PM
1

Hi Nunu!

You could use another approach without using any custom modules.

1. Add RequestOnewayBean and WaitResponseBean modules in Sender channel.

2. Add the additional interface for receiver or create additional dummy receiver system. Using additional interface for the same receiver looks even better since you can use "Maintain Order at Runtime" option to ensure that message was successfully delivered to ECC system before sending response to sender.

3. Use any kind of mapping for that receiver/interface to build response with needed data and correlation id.

4. In receiver channel for that system/interface add NotifyResponseBean module and remove standard module.

Regards, Evgeniy.

Show 6 Share
10 |10000 characters needed characters left characters exceeded

Nice one Eve! But have querie in this approach:

What if the messages gets failed to deliver the actual receiver/interface , as we are mentioning "Maintain order at runtime" this interface will never be triggered and response will never be sent back to the system.

Br,

1

Hi Manoj!

Yes, it's possible. To avoid such type of situation we can turn that option off and thus response to sender transforms to response of kind "message was sent to receiver system" :-)

Regards, Evgeniy.

0

Hi Eve,

No, but if understand the requirement correctly the status of the message in PI has to be sent back to receiver, if we turn off that option and for some reason the message is not delivered to actual receiver and sending response back as " message was sent to receiver system" will not be a valid one right.

or may be my understanding of the requirement was not clear.

Br,

Manoj

0
Former Member
Evgeniy Kolmakov

Ev, want to check if I correctly understood what u have said

1. I need to make SOAP sender channel in which I have to add RequestOnewayBean and WaitResponseBean

2. There would be 4 si(3rd partyrequest, 3rd party response, eccrequest and eccresponse) and there would be 2 systems [want to know if all si would be synchorous?)

3. in receiver proxy channel(for ECC) i need to add NotifyResponseBean module and remove standard module?

Thanks for the reply

0

Hi Nunu!

Please clarify first: if you want to send response to sender generated by PI (not the receiver system) - why do you need ECC response interface? PI will close synchronous request with its generated message. At ECC side the receiving interface becomes asynchronous.

Regards, Evgeniy.

1

Hi Manoj!

I guess the status "message was sent" means exactly that PI has just sent message out to receiver's system and not that message was successfully delivered and processed by receiver's system.

All further statues of delivery require the target system to be envolved in the process by means of acknowlegements or response messages.

Regards, Evgeniy.

1
Manoj K Aug 16, 2017 at 11:07 AM
0

Hi Nunu,

If i understand correctly you need to trigger response back as soon as PI receives it without waiting for backed ECC response . In this case you can use the custom module described in this blog.

Br,

Manoj

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Thanks Manoj,

this would be helpful, buth here we are sending message-id in a response but I want to send status of message.

Can you help me with that?

0