cancel
Showing results for 
Search instead for 
Did you mean: 

WDDeploymentException Failed to load deployable object part 'IConsumerUsag

Former Member
0 Kudos

Hi All,

I'm trying to implement Component Interface usage within a Dev Component. However I'm getting an Exception stating it is unable to load the deployable object.

- I've declared the used components with Lifecycle of manual

- Within my view controller controller Added the required controller usage necessary

- Created instance of the desired usage component <b>with and without</b> the Component name:

code snippet:

//@@begin onActionGetRootMessage(ServerEvent)

IWDComponentUsage comp = wdThis.wdGetIConsumerUsageComponentUsage();

if(comp.hasActiveComponent() && comp.isReferencing())

comp.deleteComponent();

comp.createComponent(wdThis.wdGetIConsumerUsageComponentUsage().getName());

wdComponentAPI.getMessageManager().reportSuccess(wdThis.wdGetIConsumerUsageInterface().getRootMessage());

//@@end

The initial exception that caused the request to fail, was:

com.sap.tc.webdynpro.services.sal.deployment.api.WDDeploymentException: Failed to load deployable object part 'IConsumerUsage', type 'Component' of deployable object 'demo.sap.com/consumer_dc'.

at com.sap.tc.webdynpro.serverimpl.core.deployment.AbstractDeployableObject.getPart(AbstractDeployableObject.java:137)

at com.sap.tc.webdynpro.serverimpl.wdc.deployment.DeployableObjectFactory.getDeployableObjectPart(DeployableObjectFactory.java:102)

at com.sap.tc.webdynpro.serverimpl.core.deployment.AbstractDeployableObjectFactory$1.getDeployableObjectPart(AbstractDeployableObjectFactory.java:131)

at com.sap.tc.webdynpro.services.sal.deployment.api.WDDeployableObject.getDeployableObjectPart(WDDeployableObject.java:63)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:910)

Thanks For the help

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks for the reply!

the component usage is part of the same dc "consumer_dc". Within the view controller I added the component interface that is utilized as a Used Component and the component controller usage.

So It is not two different DCs just one.

Within the Event Handler method onAction...() i created an instance of the Component usage :

"IWDComponentUsage comp = wdThis.wdGet<CompUsageName>Usage();"

Then checked if it was utiliezed or allready instantiated else where "comp.hasActiveComponent()" && "comp.isReferencing()". If so delete the instance "comp.deleteComponent()"

After that i create a new component instance "comp.createComponent()" and tried it this way "comp.createComponent("Component Name")"

Still no luck and keep getting the same exception.

Former Member
0 Kudos

Hi,

Can you try changing the option to "CreateOnDeman" in WebDynpro Component Usage.

Note: If you choose CreateOnDemand: You need not to create the instance for the Component in the code. The WebDynpro runtime environment creates the instance whenever it is required.

Regards,

Charan

Former Member
0 Kudos

Hi Charan,

It won't let me change the Lifecycle of the used component. It defaults to manual.

Now I've created another DC called "provider_dc" and is in the dependencies for "consumer_dc" with permission set for "provider_dc" and "consumer_dc".

I'm still getting the same exception. It is interesting when i utilize the createComponent() method without specifying a component name as a parameter I get this exception:

The initial exception that caused the request to fail, was:

com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: No component implementation has been specified for ComponentUsage(IRootUsage, createOnDemand=false, inReferencingMode=false). (Hint: It can be specified as a parameter to the create() method, letting the component usage refer to a component implementation or via a component configuration.)

at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:220)

at mil.army.gcss.ms.ait.consumer_dc.iconsumer.consumercomp.ConsumerView.onActionGetRootMessage(ConsumerView.java:196)

at mil.army.gcss.ms.ait.consumer_dc.iconsumer.consumercomp.wdp.InternalConsumerView.wdInvokeEventHandler(InternalConsumerView.java:128)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:131)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:72)

... 61 more

I've deployed the "provider_dc" before the "consumer_dc" also.

Thanks,

Chiedu

Former Member
0 Kudos

Hi,

Is IConsumerUsage Component is part of same DC which you are trying to deploy?

If not first check the other DC, that is consumer_dc deployed or not? If not deployed deploy that DC first.

If both the components are part of same DC that is "consumer_dc" then while adding the UsedWebDynpro Component what option did you select? is it CreateOnDemand/Manual? If you select manual, you need to create the instance for that ConsumerComp before you use it.

Regards,

Charan

Former Member
0 Kudos

Hi,

How many DC's you have?

If you have two DC's and using one component in another DC then the below might be the problem:

Are you using IConsumerUsage component from other DC? If so, please make sure that you deploy consumer_dc before the other dc.

Regards,

Jaya.