cancel
Showing results for 
Search instead for 
Did you mean: 

Using sync-async bridge in Receiver SOAP communication channel

Former Member
0 Kudos

Hi,

Hope you are doing well.

We have a scenario as follows:

Interface 1 - SOAP to Proxy asynchronous - Through this interface, payment request is sent from from the external system (SOURCE) to SAP via SAP PI over SOAP.

Once the request reaches SAP via inbound (server) proxy, the payment gets posted in SAP. Once posting is completed successfully, the following 2 interfaces are triggered sequentially.

Interface 2 - Proxy to SOAP synchronous - This interface is triggered using outbound (client) proxy synchronously requesting a session-id (generated dynamically as a GUID by the SOURCE). The SOURCE sends back the requested session-id as response to SAP.

Interface 3 - Proxy to SOAP asynchronous - This interface is triggered asynchronously after interface 2 to send back the response to the SOURCE regarding the status of payment posting.

Please note that the proxy calls for Interfaces 2 and 3 are done at the end of payment posting using proxy for Interface 1.

This interface was executing fine but after upgrading our SAP environment to level 7.31, Interface 3 is not completing successfully. As a result, Interface 1 also showed as not completing successfully. We reported this issue to SAP and they advised us to use sync-async bridge in the receiver SOAP communication channel for interface 3 to enable the same to have QoS as EO. Can you please guide me how this can be done? If there are any fresh ideas to resolve this issue, those are also welcome.

Please note that Interface 2 is completing successfully. And we are using SAP PI version 7.0

regards

Debansu

Accepted Solutions (0)

Answers (3)

Answers (3)

iaki_vila
Active Contributor
0 Kudos

Hi Debansu,

First of all, i dont find a reason because your actual scenario fails because it seems right to me.

For sync/async scenario you would need to use RequestOnewayBean module (Adding RequestOnewayBean in the Module Processor - SAP NetWeaver Process Integration - SAP Library). Chech the example in this document (point 6 and  subsequents): http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/80f96dbf-adca-3010-ffb5-daf2d1f0e...

Your scenario would be: PROXY (SYNC) - SOAP (ASYNC) - SOAP (SYNC)

Regards.

Former Member
0 Kudos

Hi Inaki,

Even I do not understand why my scenario is failing now. It never used to fail earlier but after
upgrading our SAP environment to level 7.31, Interface 3 is not completing successfully. As a result, Interface 1 is also showing as not completing successfully. As mentioned above, we reported this issue to SAP and they advised us to use sync-async bridge in the receiver SOAP communication channel for interface 3 to enable the same to have QoS as EO. We used RequestOnewayBean module for sync/async scenario but the same did not work.

I have put the details as below:

Module --> Processing sequence

Module Name                                                             Module Type                    Module Key

AF_Modules/RequestOnewayBean                                    Local Enterprise Bean          soap

sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean   Local Enterprise Bean          0

module configuration

module key    parameter name    parameter value

soap              adapter namespace   http://sap.com/xi/XI/System

soap              adapter type              SOAP

soap              passthrough              true

soap              receiver channel        <communication channel name>

soap              receiver service         <business service name>

I have done the above config change for receiver communication channel of type SOAP for interface 3.

Am I making any mistake? Please advise.

regards

Debansu

iaki_vila
Active Contributor
0 Kudos

Hi Debansu,

Try to respect the parameter name with the uppercase and lowercases: passThrough,  receiverChannel, receiverService.


If the error persists tryto add WaitResponseBean in the processing sequence:



And, in the last channel you would need NotifyResponseBean, to take the answer from WaitResponseBean:



Regards.

Former Member
0 Kudos

Hi Inaki,

Thanks for the quick reply.

Please note my configuration in the attached image below, the parameter names with the uppercase and lowercases have been respected.

I am a bit confused here.

For Interface 1

Sender - SOAP Channel

Receiver - Proxy (XI channel)

Behaviour - Async

For Interface 2

Sender - Proxy (No channel required)

Receiver - SOAP

Behaviour - Sync

Actually, this interface is completing successfully

For Interface 3

Sender - Proxy (No channel required)

Receiver - SOAP

Behaviour - Async

The RequestOnewayBean module has been implemented in the receiver SOAP channel for this interface.

Can you please advise where I need to add WaitResponseBean and NotifyResponseBean? Please note we use SAP PI version 7.0

regards

Debansu

iaki_vila
Active Contributor
0 Kudos

Hi Debansu,

I dont know if in PI 7.0 works. The WaitResponseBean is for wait the response of the sync communication while NotifyResponseBean is for take take the response and forward to the last communication channel.

Regards.

Former Member
0 Kudos

Hi Debansu

The requirement is not clear. Why we need a sync-async bridge for only a asynchronous interface.

If you think about merging all the three interfaces together in a single interface then the sync-async bridge will come in picture.

Also can you please tell us why interface 3 has failed ??

Former Member
0 Kudos

Hello Debansu ,

Please go through the blog. Its helpful.

http://www.riyaz.net/sap/a-step-by-step-guide-to-bpm-asynch-sync-bridge/170/

Thanks

Gaurav Ranjan