cancel
Showing results for 
Search instead for 
Did you mean: 

synchronizeWithBackend does not work

Former Member
0 Kudos

I have a simple SyncBo. I create a new TOP row and call the

syncManager.synchronizeWithBackend();

Following exception is thrown:

20080207 09:12:37:375] E [MI/Smartsync ] Error while closingGeneric Sync outbound container.

java.lang.NullPointerException

at com.sap.ip.me.sync.out.SyncOutboundContainer.close(SyncOutboundContainer.java:281)

at com.sap.ip.me.sync.out.OutboundContainerWriterImpl.close(OutboundContainerWriterImpl.java:98)

at com.sap.ip.me.smartsync.syncOut.SmartSyncOutboundMessage.end(SmartSyncOutboundMessage.java:176)

at com.sap.ip.me.smartsync.syncOut.RowOutDeltaProcessor.addDeltaMessages(RowOutDeltaProcessor.java:348)

at com.sap.ip.me.smartsync.syncOut.RowOutDeltaProcessor.addOutDeltaMessages(RowOutDeltaProcessor.java:114)

at com.sap.ip.me.smartsync.syncOut.SyncOutRuntimeImpl.writeOutboundDelta(SyncOutRuntimeImpl.java:192)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.actionPerformed(SmartSyncRuntimeImpl.java:459)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.actionPerformed(SmartSyncRuntimeManager.java:288)

at com.sap.ip.me.smartsync.core.SyncAdapter.actionPerformed(SyncAdapter.java:64)

at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:317)

at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1294)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:448)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:318)

at com.tietoenator.learn.funclocsync2.dataaccess.FuncLocReader.sync(FuncLocReader.java:85)

Edited by: Miklos Gyoeri on Feb 7, 2008 10:24 AM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I have following code to add a SyncBo

transactionManager = this.syncBoDataFacade.getSmartSyncTransactionManager();

transactionManager.beginTransaction();

SyncBo newFuncLoc = this.syncBoDataFacade.createEmptySyncBo(this.funcLocD);

Row funcLocHead = newFuncLoc.getTopRow();

funcLocHead.setFieldValue(this.tplnrD,"4110-20");

this.syncBoDataFacade.insertSyncBo(newFuncLoc);

transactionManager.commit();

In the wizard generated application I see that the SyncBo is created and the right field is set.

After that I use following code to perform the sync.

syncManager.setSyncPasswordOfCurrentUser("start4u");

syncManager.synchronizeWithBackend();

I found in the Trace file following Exception:

20080207 12:23:43:538] E [MI/Smartsync ] Error while Smart Sync outbound processing.

java.lang.RuntimeException: Error while closingGeneric Sync outbound container.

at com.sap.ip.me.smartsync.syncOut.SmartSyncOutboundMessage.end(SmartSyncOutboundMessage.java:181)

at com.sap.ip.me.smartsync.syncOut.RowOutDeltaProcessor.addDeltaMessages(RowOutDeltaProcessor.java:348)

at com.sap.ip.me.smartsync.syncOut.RowOutDeltaProcessor.addOutDeltaMessages(RowOutDeltaProcessor.java:114)

at com.sap.ip.me.smartsync.syncOut.SyncOutRuntimeImpl.writeOutboundDelta(SyncOutRuntimeImpl.java:192)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeImpl.actionPerformed(SmartSyncRuntimeImpl.java:459)

at com.sap.ip.me.smartsync.core.SmartSyncRuntimeManager.actionPerformed(SmartSyncRuntimeManager.java:288)

at com.sap.ip.me.smartsync.core.SyncAdapter.actionPerformed(SyncAdapter.java:64)

at com.sap.ip.me.sync.SyncEventRegistryImpl.fireSyncEventNotifierMethod(SyncEventRegistryImpl.java:317)

at com.sap.ip.me.sync.SyncManagerImpl.raiseSyncEvent(SyncManagerImpl.java:1294)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:448)

at com.sap.ip.me.sync.SyncManagerImpl.synchronizeWithBackend(SyncManagerImpl.java:318)

at com.sap.ip.me.api.sync.SyncManager.synchronizeWithBackend(SyncManager.java:79)

at com.tietoenator.learn.funclocsync2.dataaccess.FuncLocReader.sync(FuncLocReader.java:87)

at jsp._0002fjsp_0002ftestFuncLoc_0002ejsptestFuncLoc_jsp_3._jspService(_0002fjsp_0002ftestFuncLoc_0002ejsptestFuncLoc_jsp_3.java:67)

Former Member
0 Kudos

Hi,

well, the code is ok. What happens if you run the create BADI in the backend manually for testing purposes? Do you get an exception?

Well, anyway I am still confused because of the error. What happens if you do a client reset (in the settings tab) and sync then without doing any create. Does the sync work fine then or do you get the same error? If this error only occures after the creating of a new item, please check the coding onthe backend and the mapping in MEREP_SBUILDER create.

Regards,

Oliver

Answers (2)

Answers (2)

Former Member
0 Kudos

The error was the connection between the Netweaver Java and ABAP stack.

There was a configuration error in the server

It is not very nice to get a Java File IO Error for a local file if the Server configuration is wrong.

Thanks for the hint with the ABAP.

Former Member
0 Kudos

Could you tell exactly what is wrong with the connection between JAVA and ABAP stacks? Thanks!

Former Member
0 Kudos

Hi,

I am a little confused here. You say you have a Smart Sync App and this error occures in the GENERIC sync part. Well, two questions:

1.) do you have write access to the folders and files?

2.) is it possible to get more details aboput the App?

Regards,

Oliver