cancel
Showing results for 
Search instead for 
Did you mean: 

Error : Failed to create delegate for view ???

Former Member
0 Kudos

Hi,

Got this stack trace. What might be the error?

Any suggestions ?

com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Failed to create delegate for view googlews.GoogleWSView. (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.<init>(DelegatingView.java:41)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.createUninitializedView(ViewManager.java:487)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:524)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:422)

at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:130)

at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41)

at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134)

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:374)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:593)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)

at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)

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:385)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:340)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:318)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:821)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:239)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)

at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)

at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)

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:94)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)

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)

... 31 more

Caused by: java.lang.NoSuchMethodError: com.sap.tc.webdynpro.progmodel.gci.GCIContext.createMappedAttribute(Ljava/lang/String;Ljava/lang/String;Z)Lcom/sap/tc/webdynpro/progmodel/gci/IGCIAttributeInfo;

at googlews.wdp.InternalGoogleWSView.<init>(InternalGoogleWSView.java:43)

... 36 more

Regards

Bharathwaj

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

I don't think this is because of not deploying the application.In that case error would be different.

As mentioned by VS , differnce btn the IDE and J2EE could be the problem.Please check the J2EE and IDE versions.

You mean rest of the applications are working fine and problem with this application only ?

Regards, Anilkumar

Message was edited by: Anilkumar Vippagunta

former_member185029
Active Contributor
0 Kudos

Hello Bharathwaj,

Will sounds foolish but, are you directly running the application without deploying?

Try deploy and run option for the same.

Also let me know have you re-imported the model?

Regards,

Ashutosh

Former Member
0 Kudos

You have built your code with one version of IDE (newer) but deployed it to another version of WebAS (older)

VS

Former Member
0 Kudos

Hi Valery ,

Initially i was also suggesting the same when someone came with similar problems..

But today when i got it i have realised that it might be for some other reason also.

BEcause i am creating evrything using one NDS and for deployment also i am doing the same..

Any other possibility valery ?

Regards

Bharathwaj

Former Member
0 Kudos

Hi Bharathwaj,

What are the versions of your NDS and WAS?

I also got such error once. and I came to know that its because of the mismatch of Versions between NDS and WAS server.

Regards,

Bhavik

Former Member
0 Kudos

Valery's answer is correct.

The problem definitely is a mismatch between the Web Dynpro versions used by the NWDS and the one running on the Web AS.

The NWDS seems to have a newer version than the Web AS, it generates code (GCI) that is not available in the Web Dynpro runtime on the Web AS.

Armin

Former Member
0 Kudos

Hi,

This is definitely the reason.

Try to remove all content from ./bin & ./gen_wdp/packages folder, then reload+rebuild -- probably this helps...

VS

Former Member
0 Kudos

Hi Valery ,

Not all the applications have the same problem. I am using a webservice in this project and this is the only one which is giving errors .

Former Member
0 Kudos

Hi Barathwaj,

Are you accessing Webservice through the Deployable proxy or from the Web service model in webdynpro?

If you are accessing through Deployable proxy then, check whether you have specified the JNDI for that deployable proxy is correct or not.

Regards,

Bhavik

Former Member
0 Kudos

But then I'm wondering how using WebServices may affect code produced by WD generator for UI components...

VS

Former Member
0 Kudos

Hi Valery,

And indeed i dint check the server in my NDS. I was working with one of older ones(SP9). And the new ones is down(SP11). So cant check if this application(from NDS 2.0.11) works atleast on SP11.

But a few more questions.. ?

Why is the error coming only for certain applications and not to all..Does it depend on the UI elements used.

What does this GCIContext mean.. And how is it related to the UI components.

And what does the WDGenerator do ?

Thanks &Regards

Bharathwaj

Former Member
0 Kudos

<i>Why is the error coming only for certain applications and not to all..Does it depend on the UI elements used.</i>

Probably some was generated by "correct" IDE. It is not depends on UI elements -- most probably it depends on context structure (or whether or not requiresCodeGeneration was set on context nodes)

<i>What does this GCIContext mean.. And how is it related to the UI components.</i>

It's a secret nuclear weapon of WD team Seriously, it seems to be internal WD API that is not exposed to developers. And, probably, for good reason.

<i>And what does the WDGenerator do ?</i>

Well, it generates typed sub-classes of Node/NodeElements, for example. Or code to create UI controls based on metadata. And real controllers' implementations, these delegates to our code (check .wdp. packages)

VS

Former Member
0 Kudos

Hi,

concerning the statement, that the "delegate" error is due to mismatching NWD and J2EE Patchlevel versions is wrong.

I run both on Level 10 and get the same error.

Furthermore it says:

<b>java.lang.NoClassDefFoundError: com/sap/netweaver/bc/rf/util/uuid/UUID

at packuuid.wdp.InternalView1.<init>(InternalView1.java:92)

</b>

in fact i added the external jar file in the build path of my wd project - and imported it in NWD.

I am trying to get a UUID.

In wdDoInit() I do this:

<b>

// test UUID

String struid = "";

String struid1 = "";

try {

UUID uid = new UUID(struid);

struid1 = uid.getUUID().toString();

wdContext.currentContextElement().setStrUid(struid1);

} catch (NumberFormatException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

</b>

I also tried to clear the wd_gen and bin folders and reloaded the project, like valery suggested, but still the same error.

Hints appreciated,

cheers, matthias

Former Member
0 Kudos

Really? If you get a nested NoSuchMethodError like the one shown above, a version mismatch is the reason.

Sure you can get the "Failed to create delegate..." because of another error in the application...

Armin

Former Member
0 Kudos

hi armin,

ok - well my error at the bottom of the error stack is:

NoClassDefFoundError...

so, at least i know, i can deliver the "delegate" error with corresponding patchlevels B-]

Do you think, this could be a mistake in the package itself?

It is the <i>bc.rf.util_api.jar

</i> and the import is:

<i>import com.sap.netweaver.bc.rf.util.uuid.UUID;</i>

which i get when applying 'organize imports'.

matthias

Former Member
0 Kudos

Seems you are using an external jar-file and did not get it deployed on the J2EE server.

Search this forum for "external jar" and hopefully you will find the solution (you need to put the jar file into a library DC or extract it in a Java DC, publish it as a public part and declare a reference from the using DC).

Armin

Former Member
0 Kudos

Hi Armin,

didn't know that so many had the same problem - i just did not search for "external jar", which was again a great clue. Thanx a lot once again - unfortunately i can't reward points, as i did not open the thread but hooked on the wave.

Mr Brian Pederson had the most simple solution at hand:

<i>Extracting external jars into a source catalog is in my opinion a nasty workaround.

I usually do the following:

1) Put the jar file in the lib folder inside the WebDynpro project

2) Add the jar to the project classpath by right clicking on the project and choose Properties/Java Build Path/Libraries/Add JARs

This makes the classes inside the jar available at compile time as well as runtime.

</i>

> Seems you are using an external jar-file and did not

> get it deployed on the J2EE server.

that was the point, yep.

>

> Search this forum for "external jar" and hopefully

> you will find the solution (you need to put the jar

> file into a library DC or extract it in a Java DC,

> publish it as a public part and declare a reference

> from the using DC).

>

> Armin