Hi,
we are having trouble to run the NativeAPITest on NetWeaver. We
are getting the following exception:
org.xml.sax.SAXParseException:
cvc-elt.4.2: Cannot resolve 'oc4j-platform' to a type definition for
element 'server-platform'.
at
org.eclipse.persistence.exceptions.SessionLoaderException.finalException(SessionLoaderException.java:103)
at
org.eclipse.persistence.sessions.factories.XMLSessionConfigLoader.load(XMLSessionConfigLoader.java:246)
at
org.eclipse.persistence.sessions.factories.SessionManager.getSession(SessionManager.java:395)
at
org.eclipse.persistence.sessions.factories.SessionManager.getSession(SessionManager.java:288)
at
org.eclipse.persistence.testing.tests.nativeapitest.NativeAPITests.testSetup(NativeAPITests.java:72)
at
org.eclipse.persistence.testing.framework.junit.JUnitTestCase.runBareServer(JUnitTestCase.java:463)
at
org.eclipse.persistence.testing.framework.server.TestRunnerBean.runTest(TestRunnerBean.java:87)
at
com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:47)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
at
com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
at
com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at
com.sap.engine.services.ejb3.runtime.impl.RemoteEJBProxyInvocationHandler.invoke(RemoteEJBProxyInvocationHandler.java:98)
at
com.sap.engine.services.ejb3.runtime.impl.RemoteEJBProxyInvocationHandlerp4_Skel.dispatch(RemoteEJBProxyInvocationHandlerp4_Skel.java:120)
at
com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:456)
at
com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
at
com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)
at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
at
com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:115)
at
com.sap.engine.core.thread.execution.Executable.run(Executable.java:96)
at
com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:315)
Frankly speaking, I understood very little what’s going on here
and I’ve got many questions:
1) The tests seems to test the legacy “native” API. Why is it
under jpa/eclipselink.jpa.test then?
2) It appears that we should provide some subclass of
ServerPlatformConfig for NetWeaver. This ServerPlatformConfig class
should be associated with a symbolic name, which seems to be
dynamically bound into some XML-schema (or at least something XML-ish)
in XMLSession ConfigProj. buildServerPlatformConfigDescriptor.
3) It seems that we have to provide configure some value for
server.platform in our netweaver.properties file. (The current value is
“oc4j-platform”, as you see in the stack trace, which is wrong,
obviously) .
4) We had tried to provide this ServerPlatformConfig class as
described above but failed with the same stack trace as above (Cannot resolve 'netweaver-platform').
Then we tried to use the “oc4j-platform” instead but failed as well.
To me it seems that this technique of dynamically mixing in the
symbolic names for the server platform configs in XMLSession ConfigProj. buildServerPlatformConfigDescriptor
fails in NetWeaver and hence the parsing of the session.fails.
We are pretty much stuck here. Any idea how to get this flying?
Thanks,
Adrian