cancel
Showing results for 
Search instead for 
Did you mean: 

Sender Proxy quality of service (system or application level)

che_eky
Active Contributor
0 Kudos

Hi folks,

The scenario is to call a DLL from SAP ECC using PI, the dll will return a result:

  1. SAP calls synchronous sender proxy (SOAP XI 3.0) with QOS = EOIO using queue-id ABC123 (for example)
  2. Receiver is a Java Proxy implemented using a SOAP XI 3.0 adapter which will call the DLL and return the result

Apparently this particular DLL cannot handle multiple requests hence why I have specified QOS = EOIO in the sender proxy. To try and prevent the DLL from being called simultaneously more than once.

Is EOIO a system level queuing service? or does it extend to application level? i.e. will the second request only be sent to the receiver AFTER the first request has had a response from the DLL? or will the second request be sent as soon as a system level response has been received for the first request (even though an application level response has not yet been received).

Merry Christmas

Che

Accepted Solutions (1)

Accepted Solutions (1)

Harish
Active Contributor
0 Kudos

Hi Che,

EOIO is application level Queuing process, and for syncronous schenario your second request will not be sent untill you receive the response of first request.

regards,

Harish

che_eky
Active Contributor
0 Kudos

Hi Harish,

Thank you I feel a little more confident now. I hope your reply promotes some more discussion on this thread.

Che

former_member184720
Active Contributor
0 Kudos

Hi Che- You have mentioned it as a synchronous interface and at the same time you highlighted that the QOS is EOIO. I dont know whether such thing is possible.

AFAIK, EOIO is for asynchronous interfaces and by default synchronous interfaces will wait for the response before it process the next message.

che_eky
Active Contributor
0 Kudos

Hi Hareesh,

Yes it will be synchronous. So you are saying synchronous requests to sender proxy (even if triggered from different logical unit of work) will wait for previous request to complete?

= BE Best Effort

Che

former_member184720
Active Contributor
0 Kudos

Sorry Che. As they are 3 independent requests(LUW) sent from ECC in parallel i don't think it waits.

But you can find the SAP's definition for synchronous communication

Best Effort: The message is sent to the receiver without guaranteed delivery, check for duplicate messages, or serialization mechanisms.

Answers (2)

Answers (2)

che_eky
Active Contributor
0 Kudos

From what I have read synchronous scenario will always use BE:

  • BE (Best Effort): The message is sent synchronously. The sender waits for a response before it continues processing.

I will start another thread around BE processing.

Happy New Year

Che

che_eky
Active Contributor
0 Kudos

I am looking for a more definitive answer. Looks like the way forward may be to setup a test.

As per usual the SAP help available is cryptic.

Che