cancel
Showing results for 
Search instead for 
Did you mean: 

Messages stuck in TO BE DELIVERED status

Former Member
0 Kudos

Hi !

Suddenly, whenever a message has to use the File Adapter, no mather which communication channel is to be used, the message is stuck with the "TO BE DELIVERED" status.

These messages, all have SUCCESSFUL status in the SXMB_MONI. The problem is in adapter engine. ALL have NO errors in their Audit Log. Because the problem is in adapter engine/framework, obviously queues at SMQR/SMQ1/SMQ2 are emtpy. ALL have QoS = EO (no eoio queue is used, NO predecessor messages are stuck with system error).

This occurs no mather which adapter is the sender (RFC, File, etc.)

The audit log is:

-


2008-04-10 16:59:34

Success

Message successfully received by messaging system. Profile: XI URL: http://xxxxxxx:yyyyy/MessagingSystem/receive/AFW/XI Credential (User): PIISUSER

2008-04-10 16:59:34

Success

Using connection File_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.

2008-04-10 16:59:34

Success

Message successfully put into the queue.

-


If we try to resend the message using the "resend" button in RWB, the message keeps in the TBDL state and the only difference is a new "success" entry in the audit log saying that:}

"Success | Admin action: Trying to redeliver message".

We already refreshed the cache and restarted the Java stack.

Any clues?

Thanks !

Regards,

Matias.

Accepted Solutions (1)

Accepted Solutions (1)

agasthuri_doss
Active Contributor
0 Kudos

Hi Matias,

Check Agasthuri Replay in the following post

Regards

Sangeetha

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

Statuses such as HOLDING or FAILED usually happen only for delivery semantics EOIO (exactly once in order) or BE (best effort means Asynchronous). TO_BE_DELIVERED occurs while the message is put into the Messaging System receive queue. This is done via the Messaging System receive servlet:

http://<Host>:<PORT>/MessagingSystem/receive/<CONNECTION>/<PROTOCOL>;

The MS returns HTTP 200 to the Integration Server only if this was executed successfully. In this example scenario, status TO_BE_DELIVERED should not appear since we assume that the IS has called the servlet successfully.

The status is updated from TO_BE_DELIVERED to DELIVERING when the message has popped out of the receive queue and the event handler lookup was successful, so there is a small gap where TO_BE_DELIVERED could remain in the message monitor, although it was delivered from IS successfully.

Regards,

Srini