cancel
Showing results for 
Search instead for 
Did you mean: 

Guaranteed Delivery (i.e. Exactly Once) with Synchronous SOAP Call

Former Member
0 Kudos

In SAP PI 7.0, how can you make a Synchronous Call to a SOAP Web Service from SAP PI, yet ensure guananteed delivery from SAP PI. By Guaranteed Delivery, i mean that if the Web Service throw's a SOAP Fault, or there is a communication problem, SAP PI will retry the call at a later time.

By Synchronous call, I mean SAP PI SOAP Adatper makes an HTTP/SOAP call to an External Service and holds the connection till the response is received back from the Web Service. It needs to by synchronous in the same call as we require to process the response received back from the external web service and log the result.

Is this possible, as it sounds like Best Effort (no guarenteed delivery) = synchronous , and then EO and EOIO is asynch? How can there be no synchronous guaranteed delivery?

Any prompt assistance would be appreciated.

Edited by: CostaC on Feb 12, 2010 8:11 AM

Edited by: CostaC on Feb 12, 2010 8:12 AM

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi All

Any suggestion on how the above can be implemented? Will a BPM process with a Synchronous Send step be retryable in SAP PI if there is a communication failure in the synch web service call? If there is a SOAP FAULT, the call/process needs to be automatically retried by SAP PI. On success repsonse (i.e. not soap fault), the synchronous response from the Web Service call needs to be logged via JDBC to a custom table.

Any help would be appreciated.

Former Member
0 Kudos

Not all responses will go back to Source.

In the example we are looking at, SAP PI will retrieve messages from a database via JDBC (1 to Many rows). For each row, a external Web Service will be invoked via the SOAP Adapter which performs some work. The Web Service calls can be synchronous as they are quick running and return the processing result/error messages synchronously. For each synchronous response back from the Web Service, SAP PI processes the result and logs it into a custom logging table.

Our problem with using the synchronous call to the external web service, is if it's down, we'd like the messages to be available to be retried from SAP PI. The persistence point of the JDBC rows once they are retieved from the Database is SAP PI.

Former Member
0 Kudos

Isn't that something fundamentally missing from SAP PI then as an Integration Platform? Guaranteed Delivery of synchronous messages?

Shabarish_Nair
Active Contributor
0 Kudos

i dont think any integration platform by principle will support it.

In a sync call, if you want the system to keep on trying, what about the source call? will it keep on waiting?

http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wbit.help.messagin...

prateek
Active Contributor
0 Kudos

if the Web Service throw's a SOAP Fault, or there is a communication problem, SAP PI will retry the call at a later time.

For a synchronous call, this won't be possible.

Regards,

Prateek