cancel
Showing results for 
Search instead for 
Did you mean: 

java.lang.NullPointerException with SyncBo

Former Member
0 Kudos

Hi all together,

i installed all teh infrastructure to develop mobile applications and all works fine.

But when i generate a xml-File from the merep_sbuilder, import this in the MDK,

generate the war-File, deploy this to the MI (over a sda) and synchronize my mobile client to have the

application there, i get an error after running the generated application which looks like this:

Internal Servlet Error:

java.lang.NullPointerException

at com.sap.ip.me.smartsync.data.RowManager$1.elementCount(RowManager.java:115)

at com.sap.ip.me.smartsync.data.SyncBoCollectionImpl.(SyncBoCollectionImpl.java:27)

at com.sap.ip.me.smartsync.data.SyncBoDataFacadeImpl.getSyncBos(SyncBoDataFacadeImpl.java:129)

at Sync_boPackage.dataaccess.SmartSyncDBAccess.getRowInstances(SmartSyncDBAccess.java:94)

at Sync_boPackage.dataaccess.TableContentProvider.getTableWithSyncBoNames(TableContentProvider.java:83)

at Sync_boPackage.Sync_boServlet.showSyncBoNames(Sync_boServlet.java:236)

at Sync_boPackage.Sync_boServlet.doHandleEvent(Sync_boServlet.java:71)

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGetNotThreadSafe(AbstractMEHttpServlet.java:347)

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.doGet(AbstractMEHttpServlet.java:689)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)

at com.sap.ip.me.api.runtime.jsp.AbstractMEHttpServlet.service(AbstractMEHttpServlet.java:313)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)

at org.apache.tomcat.core.Handler.service(Handler.java:287)

at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)

at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)

at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)

at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)

at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)

at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)

at java.lang.Thread.run(Thread.java:534)

My Environment looks like this:

WebAs 2004s

J2EE-Server (newest)

MI 7.0 Patch 14 (also the client)

Java 1.4.2_16

MDK 7.0.14

Can anybody help me?

Regards

Mathias

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

well, hard to tell without sitting at the system - could be a few possible options:

1.) After you synced to get the app down, restart the device and sync again. After that you can use the app - not before. But usually if you miss that step you get E500 ... not a SyncBO exception.

2.) check MEREP_207 in the Middleware for that syncBO - is there any data?

3.) sync again - this should bring that data down to the client

4.) check MEREP_MON for that BO if data was send to the device

Ok, if this all is true, then we should have data on the device. If you stil get the error - who has done the development? For me it looks you try to access the SyncBO - there is no data - and so you get a Null pointer. Have you checked the number of Instances before try to read?

Regards,

Oliver

Former Member
0 Kudos

Hi Mathias,

Did you synchroize the device after the application link appears in the MI home page and before clicking on the link?

Is there any initial data in the backend to be downloaded?

Regards

Veerabhadram

Former Member
0 Kudos

Hi Veerabhadram,

i tried both, either launch the application without synchronizing the data before also synchronize the data before launching the application.

Nothing worked.

Also i tried to do the synchronization and setting a break point in the function module. This didn´t work also.

In my oppinion it must be possible to launch the application without doing a synchronization before and as i remembered it was so at

SAP education.

Any other idea?

By the way: i#m not so familiar with Java programming and debugging. I can read it but have not so much experience as in ABAP.

Regards

Mathias

Former Member
0 Kudos

Hi to all,

i solved this problem with Olivers help. The problem was the difference between the MCD and the deployed application.

In my case the name of MCD and the application where different. This should not be. As i renamed the MCD to the same name as

the application, everything worked fine.

Thanks a lot to Oliver.