cancel
Showing results for 
Search instead for 
Did you mean: 

BPM: 2 synchronou receive step

Former Member
0 Kudos

Hi everyone,

Hi have to design a BPM which has 2 synchonous receive steps. The first I open a asynch/synch bridge. In the second one I use correlation but the receive says asynchronous receive step. This has to be synchronous. I have to sent back a message to the request.

How can I achieve this?

Thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member181985
Active Contributor
0 Kudos

BPM doesn't support more than one pair of sync-Async & Async-Sync bridges.

you can have only one Sync-Async & Async-Syn pair.

Former Member
0 Kudos

Hi Praveen Gujjeti,

I now that it doesn't support more then one S/A bridge. I am looking for a solution.

Thanks.

prateek
Active Contributor
0 Kudos

Open Sync-Async bridge, not Async-Sync bridge. I doubt how 2 sync receiver will work. What is your business requriement?

Regards,

Prateek

Former Member
0 Kudos

1. I receive data through a RFC and sent back a response.

2. Then I sent this to a Oracle database (send step synch.)

3. I sent the received data from the Oracle to another RFC.

4. I wait for a specific time for an synch RFC.

5. If the RFC sents data (correlation used) the process continues.

6. If the RFC sent no data the process will terminate.

We cannot change the process. Another middleware is used and we are now migrating to PI. So we have to use the same logic.

How does the "Respond to message" option work? any idea?

former_member200962
Active Contributor
0 Kudos
Hi have to design a BPM which has 2 synchonous receive steps. The first I open a asynch/synch bridge. In the second one 
I use correlation but the receive says asynchronous receive step. This has to be synchronous.

The Sync-Async communication means that there is a source system which operates in SYNC mode and there is one target system which cannot operate in SYNC mode....now in your scenario I cannot find a System which works in Async mode....all your communication is SYNC....so the SYNC-Async bridge concept does not apply here.

We cannot change the process. 

Bad.....one workaround would be change the mode of first Receive step to Async....i.e. receive only the request from the sender....then in the last Send step (where you now intend to close the bridge) send the response asynchronously.

Keep updated if the S/A bridge works without Async communication.

Regards,

Abhishek.

Former Member
0 Kudos

Hi abhishek salvi,

Thank you for your reply. Now what I couldn't understand is how I can I sent a response message back to a request message in BPM. A system sents me a message and starts waiting for the response (synchronous case). Now, should I define a Receive step in asynchronous mode and then with a send step (again in asynchonous mode) I can sent back a response message to that system? Is this possible?

If yes, why do we use S/A bridge?

former_member200962
Active Contributor
0 Kudos
Now, should I define a Receive step in asynchronous mode and then with a send step (again in asynchonous mode) I can 
sent back a response message to that system? Is this possible?

Using Async Receive and Send step in BPM means that even the sender sends and receives the message in Async mode.

The sender sends the message and does not wait for the response to arrive in the same call......once PI finishes processing all the messages, the response would be send to the Sender separately....

If yes, why do we use S/A bridge?

I have a web-service as a sender and FILE as receiver.....Web-service sends me message in SYNC mode....but FILE cannot process message in SYNC mode.....it works only in ASYNC mode....so in this case i would opt for a S/A bridge using a BPM.

Your case is however not the same as described for above WS--> File scenario.

Regards,

Abhishek.

Former Member
0 Kudos

Ok,

Made simple. To everyone, can I implement the below scenario in PI?

1. ECC sents a message through a synchronous RFC to PI and PI sents an response back to ECC (just some notification that the BPM process has started)

2. PI receive the message and notifies another 3rd party system that this message has arrived. (synch send step)

3. PI starts waiting for the 3rd party system to sent some additional parameters.

4. The 3rd party system sents SYNCHRONOUSLY the message waited by PI.

5. PI takes the parameters and calls a synchronous RFC to sent the messages.

If I don't use S/A bridge, how can I receive a Synch message and sent a response back? For example if I define a WS on PI. When someone calls my WS a BPM process is started. How do I sent the response message back.

Edited by: Chris027 on Aug 10, 2010 1:38 PM

former_member200962
Active Contributor
0 Kudos

1) A BPM is not used for an all sync communication

2) Looking at the steps you have it seems too difficult to design a BPM which has no Async steps in it....to be honest I am not able to design it

1. ECC sents a message through a synchronous RFC to PI and PI sents an response back to ECC (just some notification 
that the BPM process has started)

Can the above be changed to ASYNC?

5. PI takes the parameters and calls a synchronous RFC to sent the messages.

is the RFC mentioned in Step1 and Step5 of yours the same.....i mean ECC sends the RFC in Step1 and then in Step5 you send back the response for this RFC?

Regards,

Abhishek.

Former Member
0 Kudos

Hi,

No, they are not the same. They are two different synchronous calls.

It is sad that we can't find a solution to a process design which contains more then one synchronous receive step Unforturnately other middleware solution can handle this situation very easily...