Skip to Content
0
Former Member
Jan 07, 2009 at 12:10 AM

Scenario - Webservice - XI - BW. How to Avoid duplicate records?

170 Views

Hi all,

Webservice --> XI -->BW .

BPM has been used to send to send the response back.

BPM :

start ->Receive(Request) > Transformation(Responsemap) >Send(SendtoBW) ->Send(Send Response) ---> stop.

We are making use of MSGID to maintain the uniqueness of each message which is coming from Webservice. Uniqueness is maintained for the combination of sale-num:trans-num:sap-saletype:sale-type like below. One msgID will be registered in XI for each Unique message.

ex: sale-num:trans-num:sap-saletype:sale-type

1983:5837:E:NEW

If they receive any duplicate message again it will send the response back to webservice as "DUPLICATE_GUID:c9237200-0c69-2a80-dd11-79d5b47b213a".*

It is working correctly. But only problem is when XI is down or if any communication failure happens in the middle of the processing like below example.

Sample example which has failed recently. A webservice call has been failed three times and the reasons are..

First time :

It got the error as ""FAILED TO INVOKE WEB SERVICE OPERATION OS_CWUSales

Error receiving Web Service Response: Fatal Error: csnet read operation failed (No such file or directory) (11773)" .

Second time:

MessageExpiredException: Message c9237200-0c69-2a80-dd11-79d5b47b213a(OUTBOUND) expired.

Third Time :

"DUPLICATE_GUID:c9237200-0c69-2a80-dd11-79d5b47b213a" ""

If you observe when the call made 2nd time, the MsgID has been registered but due to server down or some other reason it could not able to process further.So MSGID got registered here but processing wasn't happened for the message. When they retried thrid time again to send the same call again they are getting error as "DUPLICATE GUID".

DUPLICATE GUID means it has meaning that the message has been processed and the records has been updated in the backend system which is not happened now.

Final Result is :

Status in Webservice showing as "it has been updated in receicing system" as it is indicating as duplicate guid.

- But it has not updated in backend system which is a problem.

Firstly is there any suggestions on how to solve this problem?

Is there any better way to handle this duplicate thing instead of Msgid?

Please help me in solving this.

Thanks & Regards

Deepthi.

Edited by: deepthi reddy on Jan 7, 2009 2:07 AM

Edited by: deepthi reddy on Jan 7, 2009 2:07 AM