1 Reply Latest reply on Nov 2, 2006 9:21 AM by dilshat

    JBoss seam Backbase integration

    dilshat

      I have been trying hard to integrate the Backbase (AJAX) with JBoss seam with no success. I will be very grateful if you can give me a hint about solving the problem I have encountered.

      I have copied all the necessary backbase jar files, and integrated the configuration content in the web.xml and faces-config.xml.

      Due to the requirements of Backbase, I had to update the myfaces jar files in the jbossweb-tomcat55.sar\jsf-libs with those in the myfaces-1.1.4 (latest).

      Then I added some backbase codes in the pages, hoping to see some results. However, Backbase tags in the pages are not rendered (ignored), and produced an empty content for the backbase code section in the page, although there is no any exception/error thrown.

      So as the next option I can think of, I tried to run the Backbase example as they are. Because they are the jps files, I have to comment out the the following facelet configuration from the faces-config.xml (generated by jboss-gen)

       <application> <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
       </application>
      

      And also I have commented out the following configuration from the web.xml:

      
      <context-param>
       <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
       <param-value>.xhtml</param-value>
       </context-param>
      
      


      Then, when I tried to run the the following backbase example page
      <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
      <%@ taglib uri="http://www.backbase.com/bjs/core" prefix="bjs" %>
      
      <f:subview id="main">
       <bjs:view>
       <bjs:loadBundle basename="com.backbase.bjs.form.language" var="msg" />
      
       <bjs:window show="true" resize="all" label="#{msg.appTitle}"
       style="left:10%;top:40px;width:770px;height:44em;">
      
       <bjs:panelSet rows="2em *">
      
       <bjs:panelSet cols="90% *">
       <bjs:panel style="overflow:hidden"/>
       <bjs:panel style="overflow:hidden">
      
       <bjs:commandLink actionListener="#{locale.changeLocale}"
       action="#{locale.reloadMainPanel}" destinationId="index">
       <bjs:graphicImage url="#{msg.languageFlag}"/>
       </bjs:commandLink>
      
       </bjs:panel>
       </bjs:panelSet>
      
       <bjs:panel style="overflow:hidden">
      
       <bjs:navPanel style="width:100%">
       <bjs:navPanelItem itemLabel="#{msg.personaldetails}"
       url="billing.jsp" binding="#{panel.billing}"/>
       <bjs:navPanelItem itemLabel="#{msg.billingaddress}" disabled="true"
       url="billingaddress.jsp" binding="#{panel.billingaddress}"/>
       <bjs:navPanelItem itemLabel="#{msg.shipping}" disabled="true"
       url="shipping.jsp" binding="#{panel.shipping}"/>
       <bjs:navPanelItem itemLabel="#{msg.shippingaddress}" disabled="true"
       url="shippingaddress.jsp" binding="#{panel.shippingaddress}"/>
       <bjs:navPanelItem itemLabel="#{msg.shippingmethod}" disabled="true"
       url="shippingmethod.jsp" binding="#{panel.shippingmethod}"/>
       <bjs:navPanelItem itemLabel="#{msg.payment}" disabled="true"
       url="payment.jsp" binding="#{panel.payment}"/>
       <bjs:navPanelItem itemLabel="#{msg.send}" id="send-item" selectListener="#{panel.selectReview}"
       url="send.jsp" binding="#{panel.review}" />
       </bjs:navPanel>
      
       </bjs:panel>
       </bjs:panelSet>
       </bjs:window>
       </bjs:view>
      </f:subview>
      
      



      When I tried to run the page, it produced the following exception:
      javax.servlet.ServletException: The absolute uri: http://java.sun.com/jsf/core cannot be resolved in either web.xml or the jar files deployed with this application
       org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:58)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      
      root cause
      
      javax.servlet.ServletException: The absolute uri: http://java.sun.com/jsf/core cannot be resolved in either web.xml or the jar files deployed with this application
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
       com.backbase.bjs.webapp.filter.UploadFilter.doFilter(Unknown Source)
       org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
       org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      
      root cause
      
      javax.faces.FacesException: The absolute uri: http://java.sun.com/jsf/core cannot be resolved in either web.xml or the jar files deployed with this application
       org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:422)
       org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
       com.backbase.bjs.application.BackbaseViewHandler.renderView(Unknown Source)
       org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
       javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
       com.backbase.bjs.webapp.filter.UploadFilter.doFilter(Unknown Source)
       org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
       org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      
      
      


      I can see that that myfaces-impl-1.1.4.jar exist in the jbossweb-tomcat55.sar\jsf-libs directory, and it does contains myfaces_core.tld, which defines the taglib uri http://java.sun.com/jsf/core.
      So I am really puzzled, do I need to copy that tld files into my web application and referenced it in my web.xml?