cancel
Showing results for 
Search instead for 
Did you mean: 

No data in ErrorConflictInbox

Former Member
0 Kudos

Hello all,

I want to use the ErrorConflictInbox to handle errors, conflicts and merge errors on the client. This is what I have in my MCD:

<MeRepApplication schemaVersion="1.1" id="MYAPP" version="1.0">

<Property name="CLIENT.BUILDNUMBER" />

<Property name="C_APPLRESOLVE">X</Property>

<Property name="DATA_VISIBLE_SHARED" />

<Property name="E_APPLRESOLVE">X</Property>

<Property name="FACADE_C_CLIENT">X</Property>

<Property name="FACADE_E_CLIENT">X</Property>

<Property name="HOMEPAGE.INVISIBLE" />

<Property name="INITVALUE" />

<Property name="RUNTIME">JSP</Property>

<Property name="TYPE">APPLICATION</Property>

When I deploy and start this application and gets an error, the iterator return false for the next value. The following code is executed when the appication receives the "MessageReplyType.SYNC_END" message:

ErrorConflictInbox errorConflictInbox = SmartSyncRuntime.getInstance().getInboxNotifier().getErrorConflictInbox();

MeIterator iterError = errorConflictInbox.getSyncBoResponses(SyncBoResponseType.ERROR);

while (iterError.hasNext()) {

....

}

etc.......

The message on the server in visible in the transaction merep_mon.

We use SP18 on server and client.

Thanks in advance,

P. Willems

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI,

are you having an error or a conflict on the mw server?

May try

MeIterator iterator = errorConflictInbox.getAllSyncBoResponses();

to see if anything comes down to your client.

As well I think to remember that you have to register a SyncReplyObserver for the observed bo types.

SmartSyncRuntime.getInstance().getInboxNotifier().registerSyncReplyObserver(new MyObserver());

May try out and let us know the results!

Rgds,

Tom

Former Member
0 Kudos

Hi Tom,

I'm not sure if you have mixed up MCD and the merepMeta.xml. The client setting to activate/ deactive application's error/ conflict handling is only read from the MCD (ABAP transaction "MCD") and not from the SyncBo meta data merepMeta.xml. So it is important to have the flag in the MCD set when the application is deployed.

If you have set the flag correctly in the MCD but still get no SyncBoResponses from the ErrorConflictInbox you can have a look at the client trace to get further information. Set the trace level to debug and download the error/ conflict from the middleware. Afterwards the trace file should contain the received xml inbound messge which consists of an element " <Code>conflict</Code>

" or <Code>error</Code>. Somewhere close to there in the trace you should also find

either:

"ErrorConflictFrameworkResolver: Framework resolved SyncBoResponse"

=> Meaning manual error conflict handling is switched off: Your MCD setting was not applied correctly on client.

or

- "ErrorConflictFrameworkResolver: There are no types to resolve." => Meaning that the framework has not resolved any error/ conflict. So either nothing came in or it is placed in the ErrorConflictInbox.

As Thomas already pointed out try also ErrorConflictInbox#getAllSyncBoResponses().

Registering a SyncReplyObserver does not affect Smart Sync's error/ conflict handling at all.

Regards,

Tobias

Answers (1)

Answers (1)

Former Member
0 Kudos

hello patrick,

try accessing them thru your application and not thru an

observer. this is the best way to check if you properly

received the syncBoResponse or not. if you have the trace

file, that would be easy to check as well.

jo