Skip to Content
avatar image
Former Member

WDDeploymentException Failed to load deployable object part 'IConsumerUsag

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    Jul 07, 2009 at 06:21 AM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 07, 2009 at 07:45 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 07, 2009 at 01:07 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      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