on 12-19-2007 2:29 PM
Hi:
This is the scenario:
1- DC java - have 2 public parts:
JavaAssmbl (A)
JavaCompilation (C)
2- Dc library - have at used DCs the dc java's public part C, and its dependecy are at Runtime and build
3- DC webdynpro - have at used DCs the dc java's public part A, and its dependecy are at Runtime and build
Deploy all dcs.
I deploy de Webdynpro project (number 3) and everything its ok, the project is empty (don't use any class of the DC number 1). When I add some kind of code to instantiate a class at DC 1 FROM the Webdynpro DC (number 3) I have at runtime this exception:
com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create delegate for view com.repsolypf.gct.mantenimiento.roles.MantenimientoRolesView. (Hint: Is the corresponding DC deployed correctly? Does the DC contain the component?)
at com.sap.tc.webdynpro.progmodel.generation.ControllerHelper.createDelegate(ControllerHelper.java:110)
at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.(DelegatingView.java:41)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.createUninitializedView(ViewManager.java:657)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:694)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:579)
at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:155)
at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.doOpen(WebDynproWindow.java:295)
at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.show(ApplicationWindow.java:183)
at com.sap.tc.webdynpro.clientserver.window.ApplicationWindow.open(ApplicationWindow.java:178)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.initApplication(ApplicationSession.java:748)
at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:283)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.sap.tc.webdynpro.progmodel.generation.ControllerHelper.createDelegate(ControllerHelper.java:74)
... 33 more
Caused by: java.lang.NoClassDefFoundError: com/repsolypf/gct/beans/GCTCommandBean
at com.repsolypf.gct.mantenimiento.roles.wdp.InternalMantenimientoRolesView.(InternalMantenimientoRolesView.java:95)**
... 38 more
so.....I have the DC java deployed...all the publics parts decalered....but...it can't find it. The code is at the init method so can't instantiate the iview.
What is missing? I really can't realize why the class can't be found.
Thanks a lot for your time on this thread.
Rocío.
It got fix with my last post.
Now I have a problem between Library DC and EJB DC. New Error: NoClassDefFoundError (other post)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I recommend to read this SAP Note: 798872 Helps me to be sure that how it works it the correct way.
New thread status:
WD DC with a Java DC works OK
now I need the Java DC with library DC, the same error.
SAP Note:
Java DC = financials/app
.....You may also create an at-run-time reference between the DCs
"financials/app" and "tax/lib".
But this currently only serves as documentation because technology
specific runtime references are not automatically generated for
J2EE applications.
In order to make sure that the classloader finds classes from
"tax/lib" in referenced by "financials/app" you have to manually
add a library reference to the application-j2ee-engine.xml using
the J2EE toolset of the Developer Studio.
Rocío.
Edited by: Rocío Lorena Suárez on Dec 21, 2007 12:14 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
YOu may have already done this, but have you setup the reference to the deployed library in the WD application? See this help page for information on setting up references:
http://help.sap.com/saphelp_nw70/helpdata/en/f9/ce747474574fdb8a79fed77ea075f8/frameset.htm
In your case, you want to setup a 'Library Reference'
Regarding your Library DC, the Library DC should have a usage relationship to the asembly public part of the external library, not the compilation part.
To check that your library is deployed correctly, use the VA and see if you can see your deployed library. If the library is there, then go the Class Loader Viewer and find your web dynpro application - ensure that the dependency tree shows both your web dynpro application, and the deployed library. If the library does not show up, then you've either deployed the library incorrectly, or the dependency is not there.
Hopefully that gets you back on track.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ken:
Thanks for answering.
What you said was done before posting and works, but all the documentation and examples that I read about DC intercommunication said that the communication between DCs have to be with the publics parts and adding as "Used DC".
The reference that you said can be done working with DCs projects or working with just WD projects, if I do that the DCs configurations about public parts and used dcs are taking in count only at design time (at runtime I get the error)...and I think that something is missing or not working fine....
See the example of this documentation
Thanks a lot for your time.
Rocío.
User | Count |
---|---|
84 | |
24 | |
11 | |
9 | |
7 | |
6 | |
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.