1 Reply Latest reply on May 13, 2007 12:59 PM by amontobin

    Access EJB from Web page

    amontobin

      Hi,

      I'm starting to learn seam and i've some troubles.
      I've got a project with one web app and one ejb jar (like seam booking)
      I can deploy my ear on the server but when i want to access login page i've this error :

      01:44:41,352 INFO [StartupServletContextListener] Serialization provider : class org.apache.myfaces.shared_impl.util.serial.DefaultSerialFactory
      01:44:41,372 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/extranet-backoffice] has already been started
      01:44:41,379 INFO [TomcatDeployment] deploy, ctxPath=/extranet-customer, warUrl=.../tmp/deploy/extranet-customer36254-exp.war/
      01:44:41,480 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/extranet-customer] has already been started
      01:44:41,493 INFO [TomcatDeployment] deploy, ctxPath=/extranet-partner, warUrl=.../tmp/deploy/extranet-partner36255-exp.war/
      01:44:41,719 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/extranet-partner] has already been started
      01:44:41,736 INFO [TomcatDeployment] deploy, ctxPath=/internet, warUrl=.../tmp/deploy/internet36256-exp.war/
      01:44:41,833 INFO [StandardContext] Container org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/internet] has already been started
      01:44:41,962 INFO [MailService] Mail Service bound to java:/Mail
      01:44:51,130 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:ear=assurix.ear,jar=jboss-seam-1.2.1.GA.jar,name=Dispatcher,service=EJB3 with dependencies:
      01:44:51,322 INFO [EJBContainer] STARTED EJB: org.jboss.seam.core.Dispatcher ejbName: Dispatcher
      01:44:51,374 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:ear=assurix.ear,jar=jboss-seam-1.2.1.GA.jar,name=TransactionListener,service=EJB3 with dependencies:
      01:44:51,429 INFO [EJBContainer] STARTED EJB: org.jboss.seam.core.TransactionListener ejbName: TransactionListener
      01:44:51,501 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:ear=assurix.ear,jar=presentation-1.0-SNAPSHOT.jar,name=LoginController,service=EJB3 with dependencies:
      01:44:51,522 INFO [EJBContainer] STARTED EJB: com.assurix.presentation.extranet.backoffice.LoginController ejbName: LoginController
      01:44:51,571 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
      01:44:51,632 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-0.0.0.0-8009
      01:44:51,691 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.Beta1 (build: CVSTag=https://svn.jboss.org/repos/jbossas/tags/JBoss_5_0_0_Beta1 date=200611191849)] Started in 1m:48s:699ms
      01:44:53,708 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
      org.apache.jasper.JasperException: /index.jsp(15,15) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
      at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
      at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:406)
      at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:147)
      at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1044)
      at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:818)



      Index.jsp :

      <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
      <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
      <%@ taglib uri="http://jboss.com/products/seam/taglib" prefix="s" %>


      Login New User


      <f:view>
      <h:form>

      <s:validateAll>

      Username
      <h:inputText value="#{backOfficeLoginController.username}"/>


      Password
      <h:inputSecret value="#{backOfficeLoginController.password}"/>

      </s:validateAll>

      <h:messages/>
      <h:commandButton type="submit" value="Login" action="#{backOfficeLoginController.login}"/>
      </h:form>
      </f:view>



      My bean :

      @Stateful
      @Name("backOfficeLoginController")
      public class LoginController extends PresentationController implements LoginControllerInterface {
      @Logger
      private Log log;

      private LoginModule loginModule;
      ....
      }

      My environment :
      JBoss 5.0.0Beta1
      Maven2
      Seam 1.2.1GA
      MyFaces 1.1.4 (install as manifest dependency for webapp)

      I suppose that my ejb well deployed (see jboss log) but my main supposition is that the JSF/JSP engine produce the error.

      Do you have any ideas where the problem comes from ?
      I will try to put directly the myfaces jar directly in WEB-INF/lib to see wha happen.

      Thank you,

      Sebastien Boutte

        • 1. Re: Access EJB from Web page
          amontobin

          I resolve my problem (i can display a login page):

          1. you don't need myfaces-api and myfaces-impl with jboss 5 only tomahawk (see http://wiki.jboss.org/wiki/Wiki.jsp?page=JBoss5AndMyFaces for further details)
          I think it should be valuable to add some informations in seam documentation.

          2. You don't need to use manifest dependency for using jar in the web app.

          3. Be careful, it seems that JBoss 5 Beta 1 is not doing clean-undeploy (i've to remove some files in tmp/deploy and work)

          Sebastien