cancel
Showing results for 
Search instead for 
Did you mean: 

http_synch-->file using synch/asynch bridge

Former Member
0 Kudos

I am trying to do the following scenario with bpm ( synch/asynch bridge)

Scenario:

1. Http client calls BPM synchronously (open the S/A bridge).

2. BPM sends the received message to file adapter.

3. Another process reads the files and produces an output file (or I can do this manually).

4. The output file is sent back to BPM.

5. BPM returns the output message back to http synch (closes S/A bridge)

Integration Process Design :

1. Receive Synch (open the S/A bridge)

2. Send Asynch

3. Receive Asynch

4. Send Synch (close the S/A bridge)

When I call the BPM from the http client (QOS is BE or EO) , BPM receives the message and writes the file (so step1 and step 2 are okay). Then http client comes back with no response. That means BPM is not waiting for a message at step 3.

My understanding is BPM should wait on a receive step!

Even if I introduce a wait step after step 2, it doesn't help.

Why does the http client return before the s/a bridge is closed? Am I missing anything?

Please help.

Thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>1. Receive Synch (open the S/A bridge)</i>

This will again be a receive step with mode as opens S?A bridge.

><i>Send Synch (close the S/A bridge</i>)

This is a Send Step with mode <b>CLOSES S/A BRIDGE</b> it will not be a Synch step.

<i>

My understanding is BPM should wait on a receive step!</i>

it should. Make sure that the file adapter is active. And see if the file has been picked up. Did you check the flow of the message in the BPE? Did the receive step get executed? I think it would have and the problem can be in the mapping.

Just take a look at the Synch - Asynch bridge example in this link,

http://help.sap.com/saphelp_nw04/helpdata/en/83/d2a84028c9e469e10000000a1550b0/content.htm

Regards,

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

hi,

Also make a syntax check of your BPM in IR, by pressing f7.

Regards,

Bhavesh

Former Member
0 Kudos

I did follow the pattern explained in the help.sap.com link.

The file adapter is active. The file get picked up. I have no mapping, it is all same message. I followed and double checked with the sap pattern sample. The IP syntax in IR is fine.

I checked the BPE, there is message for BPM ->XI File adapter.

And XI File adapter ->BPM but this message is blank !!!

The first receive step refers to two message types (MI_PO_Req_abstract and MI_PO_req_res_abs_synch). The http client calls the bpm using MI_PO_Req_abstract is that correct.

Please help.

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

In the HTTP Client, give the Synch Outbound Message Interface aagainst the Message Interface Field.

In your Receiver Determination for the Receive ( opens SA bridge ) of the BPM, the sender message interface will be a synch outbound and the receiver interface will be the Abs Synch message interface.

The container element will be just like what you have created for this in the BPM.

Check the actual file content by following the steps shown in this blog. See if the file content is correct,

/people/michal.krawczyk2/blog/2005/09/16/xi-how-to-test-your-mapping-in-real-life-scenarios

Regards,

Bhavesh

Former Member
0 Kudos

Hi,

For your scenario.

First open Sync Async bridge. (to send from HTTP)

Then have a send async step. (to send it to first file)

Then have a receive step. (To receive from second file)

Then close the bridge this will send the response to HTTP.

Http will receive response only after you close the bridge.

Thanks and Regards,

Sudheer.

Former Member
0 Kudos

I tried the same with the existing SAP's integration process BpmPatternSyncAsyncBridge. Same result.

I believe my understanding of the configuration is wrong.

The synchronous abstract interface BpmPatternBridgeSyncIf is used only in the first receive step as a synchronous interface not as message container element.

Currently I am not using this interface BpmPatternBridgeSyncIf in configuration. Am I supposed to use this in configuration and how/where?.

Bhavesh, I guess in your response you are trying to convey this but it is not clear enough for me.

Other questions are

-Do I need an explicit http adapter configured?

-Should the http client call the BPM or a different business service. (and what interface)?

Please help.

Former Member
0 Kudos

Problem solved. See this post I created