on 10-24-2006 8:51 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.