Hi Max,

As Chris said the reason you are getting the npe is because the
control is not being instantiated.

You can use a Beehive control directly from a JSP, it sounds like that
might work for you in this case.  I've attached a sample JSP file from
the Beehive controls-spring sample which demonstrates how to use a
control from a JSP.  You don't need Spring to do this -- this was just
the first sample I came across.

 - Chad

On 7/26/06, Chris Hogue <[EMAIL PROTECTED]> wrote:
Hi Max,

I'm not sure you can use @Control instantiation in a regular Java
class. I don't believe there's anything that triggers the
instantiation. When you run in a page flow or another control those
have a "control container" that handles this.

Have you tried programmatic instantiation as described here?

http://beehive.apache.org/docs/1.0.1/controls/programming.html#Programmatic+Instantiation


-Chris


On 7/26/06, Ricci, Massimiliano (HPS C&I, HP-Italy)
<[EMAIL PROTECTED]> wrote:
> Hi folks,
>
> I'm trying to use Beehive EJB control in my project.
> I've done two tests.
> In the first one I've created a Session EJB ("ProvaSessionBean") using
> IBM Application Server Toolkit (AST), with just one method (String
> welcomeName (String name)), and imported (the jar file) it on BEA
> Workshop 9.2.0 for Weblogic Platform. I've created a new "Dynamic Web
> Project" using Beehive facets (Controls & NetUI). By the wizard I've
> created an EJB Control (filling the field "JNDI Name" with the value in
> META-INF\ibm-ejb-jar-bnd.xmi ("ejb/ejbs/ProvaSessionBeanHome") and from
> META-INF\ejb-jar.xml for Home/Business Interface
> ("ejbs.ProvaSessionBean" and "ejbs.ProvaSessionBeanHome")).
>
> In Controller class I've instanced the EJB Control by annotation
> (@Control) and call the EJB method in the Controller method. I've
> exported the ear file and deployed it on IBM WebSphere Application
> Server 6.1
> In this case all work correctly.
>
> Then I've tried to use the EJB Control in a normal Java class.
> I've imported the EJB (jar) in my project, and created a "Dynamic Web
> Project" not using Beehive technology (in particular Beehive NetUI).
> I've imported jar to use EJB Control (beehive-controls.jar,
> beehive-ejb-control.jar) and created EJB Control
> (ProvaSessioBeanCtrl.java) following the same step described above. Then
> I've created a (simple) Java class (Prova.java) to instance the control
> (using annotation @Control) and use EJB method, and a jsp page where I
> called this java class.
> I've exported the ear file and deployed it on IBM WebSphere Application
> Server 6.1.
> When I've tested the application a "java.lang.NullPointerException" was
> generated because the EJB Control in java class not was instanced!
> I've checked that every class by APT was created (Prova.class,
> Prova.controls.properties, ProvaClientInitializer.class,
> ProvaSessioBeanCtrl.class, ProvaSessioBeanCtrlBean.class,
> ProvaSessioBeanCtrlBean.class.manifest,
> ProvaSessioBeanCtrlBeanBeanInfo.class) and all seems correct.
>
> Have anybody some idea because EJB Control doesn't work on java class?
> Is it possibile use Beehive EJB Control (or Beehive Control in general)
> in a Java class instead in a PageFlow?
>
> Thanks in advance,
> Max
>

Reply via email to