cancel
Showing results for 
Search instead for 
Did you mean: 

Add EJB Model to public part for other WD-comp to use

Former Member
0 Kudos

Hi,

I have a problem in WebDynpro for Java in a Netweaver CE 7.1 SP 05 environment.

I have a 3-tier architecture with 1 CAF component(Comp A) in the bottom and then 1 "faceless" WD4J component (comp B) that only holds the models and then exposes them through a Public Part. The 3:rd component is also a WD4J component(Comp C) that needs to consume the model and use it to create a UI.

So:

(CAF)Comp A --> (WD4J)Comp B ---> (WD4J)Comp C

1, Comp A creates an application service

2, Comp B creates a Data Model via the Local Interface, EJB Model

3, Create a component in Comp B and add the model imported in step 2

4, Add the component from step 3 to public part

5, Add dependencies Comp B to Comp C (so it can reach the Public Part)

6, Add Used Components and Used Model in Comp C

Problem:

7, Bind the controller in Comp C to the Used Model defined in step 6

Error cause: The type cant be found in Comp C controller

Message(1 example):

"IPrivateSearchArticlesGeneral.IRequest_ArticleServiceServiceLocal_searchArticleByCategoryAndDescriptionElement cannot be resolved to a type"

If any1 can help me with this it would be appreciated!

Best regards

//Marcus

Edited by: Marcus Wass on May 8, 2009 11:10 AM

Edited by: Marcus Wass on May 8, 2009 11:11 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

0 Kudos

>

> Hi,

> I have a problem in WebDynpro for Java in a Netweaver CE 7.1 SP 05 environment.

>

> I have a 3-tier architecture with 1 CAF component(Comp A) in the bottom and then 1 "faceless" WD4J component (comp B) that only holds the models and then exposes them through a Public Part. The 3:rd component is also a WD4J component(Comp C) that needs to consume the model and use it to create a UI.

>

> So:

> (CAF)Comp A --> (WD4J)Comp B ---> (WD4J)Comp C

>

> 1, Comp A creates an application service

> 2, Comp B creates a Data Model via the Local Interface, EJB Model

> 3, Create a component in Comp B and add the model imported in step 2

> 4, Add the component from step 3 to public part

> 5, Add dependencies Comp B to Comp C (so it can reach the Public Part)

> 6, Add Used Components and Used Model in Comp C

> Problem:

> 7, Bind the controller in Comp C to the Used Model defined in step 6

>

> Error cause: The type cant be found in Comp C controller

> Message(1 example):

> "IPrivateSearchArticlesGeneral.IRequest_ArticleServiceServiceLocal_searchArticleByCategoryAndDescriptionElement cannot be resolved to a type"

>

> If any1 can help me with this it would be appreciated!

>

> Best regards

> //Marcus

>

> Edited by: Marcus Wass on May 8, 2009 11:10 AM

>

> Edited by: Marcus Wass on May 8, 2009 11:11 AM

Hi,

I think all the files that were needed in the dependancy may not have been included in teh public part.

Also, the error states that there is a Private Interface "IPrivateSearchArticlesGeneral" - i dont believe Private interfaces can be shared with other components.

Try:

1.) Deleting the existing public parts. Comment any code that depends on them.

2.) Compile all your projects.

3.) Recreate the public parts. Make sure that you select each file that you need (use the "Files" option).

4.) Create 2 public parts per dependancy - one for APIs and one for SDA.

5.) Add the public part.

6.)Compile all involved projects. Need to do this to regenerate any .jar files.

7.) Deploy project

8.) Now it should work

If it still does not work - ensure that you are not putting Views from one component (even though I understand that it is faceless) into the public part.

Revert back with the issues.

Thanks.

p256960.

Former Member
0 Kudos

Hi thanks for your answer

Though I still have problems getting this to work, so just a quick question before I continue to try getting this going;

The steps below, does they apply for the 7.1 CE-environment aswell?

Try:

1.) Deleting the existing public parts. Comment any code that depends on them.

2.) Compile all your projects.

3.) Recreate the public parts. Make sure that you select each file that you need (use the "Files" option).

4.) Create 2 public parts per dependancy - one for APIs and one for SDA.

5.) Add the public part.

6.)Compile all involved projects. Need to do this to regenerate any .jar files.

7.) Deploy project

8.) Now it should work

Thanks again for your time

//Marcus

0 Kudos

Hi,

Should work with CE 7.1 EHP 1 as well.

I guess you could use the "Dev Infrastructure" perspective to do all this work in one place.

Have you tried different options in the public parts: "Build time", "Run Time", "Design Time" etc.

I believe the recommended setting is "Build Time" only. Dont try it with "Design Time".

Thanks.

p256960

Former Member
0 Kudos

Hi again!

Finally I got the project to compile:)

After following your instructions (which were great) I had to do 1 more step on the WD4J component which consumed the public part (Comp C): "Repair"-->"Project structure and classpath"

Cheers and thanks again!

Best regards

//Marcus