cancel
Showing results for 
Search instead for 
Did you mean: 

BPM Sync/Async Bridge

Former Member
0 Kudos

Hi,

I am trying to build a Async/Sync Bridge in BPM. However the difference is that I need the response to be sent to a different third party to the one which sent it.

The complete scenario is as follows: A third party sends an XML file - this is picked up with the file adapter. PI then does the appropriate mapping and calls a BAPI on ECC. The response is then sent back to PI and sent to a different third parties WebService.

I have followed the document "Demonstrating How to Use Async/Sync Bridge in BPM" by Leela Ratna Morampudi.

Sending the response back to the original sender is straight forward engough. However Im not sure how to send it back to a different third party? Is this possible? Any help would be appreciated

Also, Is it possible to build this scenario using a JMS Async/Sync bridge and avoid using a BPM?

Rg,

Krishneel

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

This should work without BPM by using Adapter Modules similar to JMS. (Instead of receiver file adapter for response use SOAP receiver for webservice)

Sending it back to same system is based on the corelation ID and you can try with the different communication channel with matching the same ID.

In BPM steps as well, you should be able to use the different location to pass the response.

Thanks

Swarup

Former Member
0 Kudos

Thanks for your reply Swarup.

I have already started with BPM so I will probably stick with this. Just wandering if you could provide a bit more detail on how I can send the BAPI response to a third party system which did not generate the intial request.

I am able to get the scenario to work by sending the response back to the original sender but am unsure how to send it to a different third party (i.e. communication channel).

Thanks,

Krishneel.

Former Member
0 Kudos

Hi...

You can send the response to the third party system.Third party means what you are using?can you explain me indetail?

Regards,

Leela

Former Member
0 Kudos

Hi Lela,

What I want to do is send the response from the BAPI to a system which is different to the original sender.

i.e. the request should be as follows:

File --> PI --> RFC

And the response it should be:

RFC --> PI --> SOAP

So basically I am sending the response from the BAPI back to a different adapter (not the original file adapter).

Rg,

Krishneel

Former Member
0 Kudos

Hi,

You have already given the answer of your question. See you have successfully created Sync/Async bridge with BPM.

It means on ID part you've created 3 channels,

file Sender to read data and send it to RFC,

RFC receiver channel to get request and response back

File Receiver to send the RFC response back.

So instead of File receiver create SOAP receiver and provide the End point url where you need to send the XML data.

Refer : Sync.Async Bridge SAP document for further reference

Thanks

Swarup

Edited by: Swarup Sawant on Aug 25, 2009 7:45 AM

Former Member
0 Kudos

Hi Swarup,

Sorry, I wasn't entirley clear before. When I got it working before only two adapters were being used, SOAP and RFC.

i.e:

Request: SOAP>PI>RFC

Response: RFC>PI>SOAP

This scenario was simply to test the BPM sync/async bridge. However, now I need to introduce a third adapter. This is what I am stuck on!

i.e. Request: File>PI>RFC

Response: RFC>PI>SOAP

Rg,

Krishneel

Former Member
0 Kudos

Hi,

For above scenario you don't need BPM. Its straight forward Synchronous scenario. For testing purpose its fine..:-))

Also refer the steps given in Wiki --

https://wiki.sdn.sap.com/wiki/display/XI/FILETORFCTOFILEwithBPM

Here the scenario is File --> RFC & RFC response --> file

so instead of File, create SOAP Receiver.

Follow the steps mentioned in the above wiki and just one change would be to have SOAP channel instead of File receiver.

Thanks

Swarup

Former Member
0 Kudos

one more good blog that will refer to above explanation

/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit

Former Member
0 Kudos

Hi Swarup,

Thanks for your posts.

I have built everything, however I'm facing some problems with the RFC receiver. In the communication channel monitor I see this error:

Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: could not get functionname from XML requst: com.sap.aii.adapter.rfc.RfcAdapterException: failed to read funtionname from XML document: missing namespace declaration(2)

Do you know what could be wrong?

I have already tried reimporting the BAPI and refreshing the caches without any luck.

Thanks,

Krishneel

Former Member
0 Kudos

Hi,

Try to make some change in RFC CC and then see if it can help you.

Also plz provide the RFC side payload , i need to have look into namespace.

Thanks

Swarup

Former Member
0 Kudos

Hi Swarup,

I tried making some changes to the RFC CC without any success.

I'm not sure how to get the RFC side payload? Can you please explain. More specifically I wanted to check the XML that is sent to the RFC but Im not sure how to obtain this?

Thanks,

Krishneel

Former Member
0 Kudos

Hi Swarup,

I tried making some changes to the RFC CC without any success.

I'm not sure how to get the RFC side payload? Can you please explain. More specifically I wanted to check the XML that is sent to the RFC but Im not sure how to obtain this?

Thanks,

Krishneel

former_member200962
Active Contributor
0 Kudos

Your BPM design:

Receive(Async) --->Transformation(if Any) ---> Send(Sync, to RFC) ---> Transformation (if Any) ---> Send(Async, to 3rd party)

Ensure that the Graphical mapping that you have defined is producing the required RFC (structurewise).

You can get the RFC payload from SXMB_MONI.....you will have an entry for BPM_to_SAP system (synchronous RFC send).

For the Message processing entry for BPM_to_SAP check what is the payload that you get after the Request Message Mapping step. This is the payload that is send to the SAP system. I hope that the SAP system from which the RFC is imported and the one to which the RFC is send is the same.

Regards,

Abhishek.

Answers (0)