HttpRemote exception:I can not get the data from server!
when i run client application via webstart,i found the data can not got from server.The configuration files and some codes as follows:
clientContext.xml:
Code:
<bean id="depotSubFrameManager"
class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean"><property name="serviceUrl"><value>http://${serverName}:${httpPort${contextPath}/remoting/DepotSubFrameManager</value></property>
<property name="serviceInterface">
<value>com.jctx.trms.hibernate.bussiness.DepotSubFrameManager</value></property>
</bean>
remoting-servlet.xml:
Code:
<bean name="/DepotSubFrameManager"
class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service">
<ref bean="depotSubFrameManager"/>
</property>
<property name="serviceInterface">
<value>com.jctx.trms.hibernate.bussiness.DepotSubFrameManager</value></property>
</bean>
applicationContext.xml:
Code:
<bean id="depotSubFrameDAO" class="com.jctx.trms.hibernate.DAO.DepotSubFrameDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="depotSubFrameManager" parent="txProxyTemplate">
<property name="target">
<bean class="com.jctx.trms.hibernate.bussiness.DepotSubFrameManagerImpl">
<property name="depotSubFrameDAO"><ref bean="depotSubFrameDAO"/></property>
</bean>
</property>
</bean>
get the bean:
Code:
public static DepotSubFrameManager getDepotSubFrameManager() {
return (DepotSubFrameManager) (getContext().getBean("depotSubFrameManager"));
}
call the service:
Code:
DepotSubFrameManager depotsubframem = (DepotSubFrameManager) GlobalApplicationContext.getDepotSubFrameManager();
System.out.println("the value of depotsubframem is " + depotsubframem);
List lts = depotsubframem.findAll(); [color=red]//(1)[/color]
Iterator its = lts.iterator();
my dao is:
Code:
public List findAll(){
List list = getHibernateTemplate().find("from com.jctx.trms.hibernate.persistence.DepotSubFrame");
System.out.println("the length of size is " + list.size()); [color=red] //(2)[/color] return list;
}
in server,the console print the size of list is 6,but in client,the program run to the row which marked (1) throw the java.lang.NullPointerException,and in the console of client ,the value of depotsubframem is
Code:
HTTP invoker proxy for service URL [http://localhost:8080/trms/remoting/DepotSubFrameManager]
the exception of client console is:
Code:
java.lang.NullPointerException
at com.jctx.trms.hibernate.persistence.BaseObject.hashCodeReflectionAppend(BaseObject.java:115)
at com.jctx.trms.hibernate.persistence.BaseObject.hashCode(BaseObject.java:98)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at com.jctx.trms.hibernate.persistence.BaseObject.hashCodeReflectionAppend(BaseObject.java:118)
at com.jctx.trms.hibernate.persistence.BaseObject.hashCode(BaseObject.java:98)
at java.util.HashMap.hash(HashMap.java:261)
at java.util.HashMap.putForCreate(HashMap.java:404)
at java.util.HashMap.readObject(HashMap.java:1007)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at java.util.ArrayList.readObject(ArrayList.java:547)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.doReadRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:233)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.readRemoteInvocationResult(AbstractHttpInvokerRequestExecutor.java:181)
at org.springframework.remoting.httpinvoker.SimpleHttpInvokerRequestExecutor.doExecuteRequest(SimpleHttpInvokerRequestExecutor.java:55)
at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:68)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:138)
at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:112)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:144)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:174)
at $Proxy39.findAll(Unknown Source)
at com.jctx.trms.hibernate.bussiness.IniTree.getTreeList(IniTree.java:70)
at com.jctx.trms.tree.TreeBean.<init>(TreeBean.java:19)
at com.jctx.trms.tree.TreeBean.getInstance(TreeBean.java:29)
at com.jctx.trms.tree.MainTree$JCTreeContentProvider.getElements(MainTree.java:241)
at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:532)
at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:704)
at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:477)
at org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredViewer.java:585)
at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:359)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:342)
at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:787)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:862)
at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:777)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1059)
at com.jctx.trms.tree.MainTree.createTreeViewer(MainTree.java:100)
at com.jctx.trms.views.SearchView.createPartControl(SearchView.java:15)
at org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:133)
at org.eclipse.ui.internal.ViewPane.createChildControl(ViewPane.java:135)
at org.eclipse.ui.internal.ViewFactory$1.run(ViewFactory.java:351)
at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616)
at org.eclipse.core.runtime.Platform.run(Platform.java:747)
at org.eclipse.ui.internal.ViewFactory.busyRestoreView(ViewFactory.java:273)
at org.eclipse.ui.internal.ViewFactory$2.run(ViewFactory.java:530)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.ViewFactory.restoreView(ViewFactory.java:528)
at org.eclipse.ui.internal.ViewFactory$ViewReference.getPart(ViewFactory.java:102)
at org.eclipse.ui.internal.WorkbenchPage$1.propertyChange(WorkbenchPage.java:132)
at org.eclipse.ui.internal.LayoutPart.setVisible(LayoutPart.java:268)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:317)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:568)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:122)
at org.eclipse.ui.internal.presentations.DefaultPartPresentation.selectPart(DefaultPartPresentation.java:1116)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:946)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1020)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:383)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:367)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:432)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:155)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:732)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2063)
at org.eclipse.ui.internal.WorkbenchWindow$4.run(WorkbenchWindow.java:1858)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:1845)
at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:498)
at org.eclipse.ui.internal.WorkbenchWindow$3.run(WorkbenchWindow.java:1076)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
at org.eclipse.ui.internal.WorkbenchWindow.openPage(WorkbenchWindow.java:1073)
at org.eclipse.ui.internal.Workbench.openFirstTimeWindow(Workbench.java:992)
at org.eclipse.ui.internal.WorkbenchConfigurer.openFirstTimeWindow(WorkbenchConfigurer.java:174)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:658)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:819)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1325)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
at com.jctx.trms.TrmsApplication.run(TrmsApplication.java:14)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:704)
at org.eclipse.core.launcher.Main.main(Main.java:688)
Can anyone please spot what I have done wrong, thanks very much.
Jesse