7. Known Issues

The issues listed here are unresolved in this release of JBoss Web Framework Kit.

Arquillian

WFK2-871
Arquillian Drone used in JBoss Web Framework Kit does not support the latest Selenium version, using Selenium 2.43.1 instead. This version of Selenium is not compatible with Google Chrome 39. To work around this issue, use Google Chrome 36 which is known to work with Arquillian-based functional tests.
WFK2-642
An error occurs when running Seam functional tests that implement the Arquillian Open Service Gateway initiative artifacts defined in the org.jboss.arquillian.osgi:arquillian-osgi-parent:1.0.3.Final file. This file is stored in the org.jboss.osgi.spi:jbosgi-spi:3.2.0.CR1 repository, but when running functional tests, Maven attempts to use the pom file for the org.jboss.osgi.spi:jbosgi-spi:3.2.0.CR1 repository instead. To work around this, the settings.xml file must reference the jboss.org repository.
WFK2-381
Attempting to use a @ServerTask configuration in the Arquillian adaptor for Red Hat JBoss Enterprise Application Platform results in an exception. The operation does not reload to update the configuration even after applying management operation(s). To workaround the issue, users must modify Red Hat JBoss Enterprise Application Platform using Red Hat JBoss Command Line Interface to recognize updates.
WFK2-231
Arquillian Graphene guards are not functional with the AngularJS JavaScript library, causing exceptions in AngularJS applications. This is because AngularJS stores a reference to XMLHttpRequest objects when a script is loaded, causing Arquillian Graphene to fail when attempting to rewrite those objects. No workaround for this issue exists. Red Hat recommends using waits instead of guards where necessary.
WFK2-61
The @ArquillianResource URL injection injects an incorrect URL if the deployed package name contains a full stop ('.'). The only workaround currently known for this issue is to rename the deployed package so that its name does not contain any full stops.

Google Web Toolkit

WFK2-329
Workers compiling Google Web Toolkit applications communicate via sockets with a port number that is forbidden on OpenShift. Consequently, compilation of Google Web Toolkit applications on OpenShift fails with the following error message:
[ERROR] Unable to create socket 
java.net.BindException: Permission denied
To work around the issue, create the workers using the ThreadedPermutationWorkerFactory.java class instead of the default ExternalPermutationWorkerFactory.java class. This can be achieved by setting the following extra JVM argument in the settings of the GWT Maven plug-in:
<plugin> 
  <groupId>org.codehaus.mojo</groupId> 
  <artifactId>gwt-maven-plugin</artifactId> 
  ... 
  <configuration>
    <extraJvmArgs>-Dgwt.jjs.permutationWorkerFactory=com.google.gwt.dev.ThreadedPermutationWorkerFactory</extraJvmArgs> 
    ... 
  </configuration> 
  ... 
</plugin>
With this option set, workers are created in new threads, do not use any sockets, and compilation of Google Web Toolkit applications on OpenShift can be performed successfully.
WFK2-37
Google Web Toolkit attempts to load pre-compiled module archives (.gwtar files) to increase performance. Consequently, building Google Web Toolkit examples shipped with this release fails with the IBM implementations of the Java Developement Kit (both 1.6 and 1.7). To work around the issue, use the -Dgwt.usearchives=false parameter with gwt-maven-plugin to disable loading of the pre-compiled archives.

Grails

WFK2-65
OSGi is not enabled in Red Hat JBoss Enterprise Application Platform 6, and artifacts produced by Grails 1.3.9 miss a Package-Import of javax.naming in the bundle. To work around the issue, disable adding of OSGi headers while packaging your Grails applications by adding the following configuration into the BuildConfig.groovy configuration file:
grails.project.war.osgi.headers = false

jQuery Mobile

WFK2-679
jQuery Mobile 1.4 is not backwards compatible. Because of this, applications using older versions of jQuery Mobile must be modified to use jQuery 1.4. To upgrade to jQuery Mobile 1.4, see the jQuery Mobile 1.4 Upgrade Guide available at http://jquerymobile.com/upgrade-guide/1.4/.

RichFaces

The rich:fileUpload component does not work in applications viewed with Internet Explorer 9. This RichFaces component does work with later versions of Internet Explorer. There is no workaround for use of the rich:fileUpload component in applications at this time.
WFK2-872
The RichFaces distribution .zip file contains VDLdoc for components in the a4j namespace but it is missing documentation for components in the rich namespace. To work around this issue, use the community VLDdoc available at http://docs.jboss.org/richfaces/4.5.X/4.5.2.Final/vdldoc/.
WFK2-864
The rowclick event of the rich:dataTable is not recognized as a valid server-side event during an ajax postback. To work around this issue, use the selectionchange event instead of the rowclick event.
WFK2-744
When a JSF form is submitted using a h:commandLink, the onsubmit listener of the placeholder component is not triggered. This behaviour can interfere with the enforcement of component validations. The problem originates in Mojarra and will be addressed in Red Hat JBoss Enterprise Application Platform 6.4. In the interim, a workaround for this issue is to use the a4j:commandLink instead of the h:commandLink.
WFK2-145
When using Spring WebFlow 2.3 with Spring 3.x and RichFaces 4, an extra bean service must be created to resolve RichFace resources. This bean is not automatically included as part of faces:resources, causing a 404 error to occur when a CSS file is requested. To work around this issue, change the order of the flowMapping so that RichFaces has higher priority than the user-generated flow (the lower number gets higher priority), and add the following bean to your application:
<bean name="richfacesResourceHandler" class="org.springframework.faces.webflow.JsfResourceRequestHandler" /> 

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
  <property name="order" value="1" /> 
  <property name="mappings"> 
    <value> 
       /rfRes/**=richfacesResourceHandler 
    </value> 
  </property> 
</bean>
After this configuration change, the request for the CSS file loads as expected.

Seam 2

WFK2-725
XML validation in Red Hat JBoss Developer Studio for a components.xml file containing custom Seam components which define their namespace using the @Namespace annotation results in an error message such as the following:
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'pay:payment-home'.	components.xml
There is no workaround at this time.
WFK2-646
A NullPointerException from Seam's SubscriptionRequest component is intermittently triggered when a subscription request is issued by a client to a JMS topic shortly after initiating an endpoint connection. This is caused by non-thread-safe behaviour of a built-in Seam component resulting in race conditions arising. To work around this, eliminate the race condition by forcing the topicConnection component to be created during application startup. This is achieved by including the following component in the application:
import org.jboss.seam.annotations.*; 
import org.jboss.seam.ScopeType; 
import javax.jms.TopicConnection; 

@Name("topicConnectionStartup") 
@Startup 
@Scope(ScopeType.APPLICATION) 
public class TopicConnectionStartup { 
    @In(value="org.jboss.seam.jms.topicConnection", create=true) 
    private TopicConnection topicConnection; 

    @Create 
    public void init() { 
        topicConnection.toString(); // arbitrary call to invoke injection of topicConnection 
    } 
}
WFK2-615
Seam does not unlock conversations as expected after they have been terminated with an @End method. This can cause problems in specific cases of concurrent requests to the same conversation, which leads to exceptions including ConcurrentRequestTimeoutException or ConcurrentModificationException. There is no workaround at this time.
WFK2-493
When sending Ajax requests to an expired session, Seam will not propagate FacesMessage. As a result, error messages are not displayed when an exception is thrown in Ajax. You can implement an Ajax exception handler by adding the following code in the faces-config.xml file:
<factory> 
    <exception-handler-factory>
        your_full_ajax_exception_handler
    </exception-handler-factory> 
</factory>
WFK2-229
The Seam user interface example throws an error related to the JPA programming interface when imported to Red Hat JBoss Developer Studio. The error occurs because JPA programming interface validation rules wrongly parse the @ElementCollection annotation, resulting in errors wrongly being reporting. The errors can be safely ignored.
WFK2-96
The UIDataTable component (the <rich:dataTable> element) shipped with RichFaces 4 does not extend the JSF UIData class. As a consequence, rendering of Seam components annotated with @DataModel and @DataModelSelection inside a UIDataTable does not work as expected. As a workaround, use the JSF DataTable (the <h:dataTable> element) instead of the Richfaces UIDataTable.
WFK2-95
When locale-config configuration is used in a Seam application, the following error message is shown in the server container log:
SEVERE [javax.faces] (MSC service thread 1-2) Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory. Attempting to find backup.
As a consequence, locale-config configuration is not taken into account in the application. As a workaround, use com.sun.faces.config.ConfigureListener configuration in the application's web.xml file. As a result of the workaround, the locale configuration works as expected.
WFK2-90
The Seamspace example fails with a NullPointerException while submitting a new blog entry on the IBM virtual machine. This issue is caused by a defect in the IBM virtual machine. The fix for this issue has been deferred until the IBM virtual machine is fixed.
WFK2-86
When Trinidad tag selectOneChoice is used on an entity that has a @OneToMany relationship with another entity, the relationship is broken because the entity does not get the relationship key. As a consequence, you cannot perform edit and save operations on the disc.xhtml file due to the following exception:
java.lang.NumberFormatException: For input string: "org.jboss.seam.example.seamdiscs.model.Band@3dd00249"
To work around this issue, replace the <tr:selectOneChoice> tag in the disc.xhtml file with the standard JavaServer Faces tag <h:selectOneMenu>.

Spring

WFK2-675
An error occurs in the Spring Sportsclub reservations webflow submodule. If you search for a reservation, click on it, edit it, save it and go back to Search page, the detailed information is not refreshed and does not display changes. The workaround is to select another reservation and then back to see the edited reservation updated.
WFK2-672
In the Spring Sportsclub reservations-webflow submodule, when Creating or Editing a reservation, there is an Available Equipment table with multiple pages. From the Available Equipment table, page 1, if you navigate to another page (page 2 or page 3) it does not allow you to return back to page 1. To work around this, you must select Create or Edit to effectively refresh the page and navigate back to page 1 of the table.
WFK2-671
In the Spring Sportsclub reservations-webflow submodule, when Creating or Editing a reservation, there is a Select Account table with multiple pages. From the Select Account table, page 1, if you navigate to another page (page 2 or page 3) it does not allow you to return back to page 1. To work around this, you must select Create or Edit to effectively refresh the page and navigate back to page 1 of the table.
WFK2-601
The default Spring servlet ("/") cannot be overridden without using the web.xml file. This occurs when users attempt to to bootstrap Spring WebMVC without the XML configuration files.The url pattern "/" should override default servlet mapping, but instead returns a 404 error.
WFK2-75
Some Spring libraries have optional dependencies on other libraries that are not present in the org.springframework.spring JBoss module by default (e.g. the quartz library). As a consequence, applications that depend on Spring libraries installed as JBoss modules cannot be deployed if the applications also require optional Spring dependencies. You can use one of the following workarounds for this issue:
  1. Do not depend on Spring libraries installed as JBoss modules; build the project with all the required JAR files.
  2. Add the optional dependencies into the org.springframework.spring module. Example of a module.xml file is as follows:
    <module xmlns="urn:jboss:module:1.1" name="org.springframework.spring"> 
      <resources> 
        <resource-root path="com.springsource.org.aopalliance-1.0.0.jar" /> 
        ... 
        <resource-root path="spring-expression-3.2.4.RELEASE.jar" /> 
        <resource-root path="quartz-2.2.1.jar" /> 
        <resource-root path="bsh-2.0b5.jar" /> 
      </resources> 
      <dependencies> 
        <module name="org.apache.commons.logging"/> 
        <module name="javaee.api"/> 
        <module name="org.jboss.vfs"/> 
      </dependencies> 
    </module>

Struts

WFK2-64 WFK2-63
The JSF integration in the Struts 1 and 2 Showcase applications is not functional with Red Hat JBoss Enterprise Application Platform 6. To work around this issue, override the default JSF implementation by adding the following configuration into the web.xml file of the application:
<context-param> 
   <param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name> 
   <param-value>true</param-value> 
</context-param>

TicketMonster

WFK2-230
For TicketMonster imported into Red Hat JBoss Developer Studio, when running the admin_layer.fsh script with JBoss Forge, the patches in the TicketMonster directory are not applied. This is because the script does not apply the patches automatically on the TicketMonster sources.
To work around this issue, apply the patches manually as described here. In Red Hat JBoss Developer Studio, in the Project Explorer view right-click on the project and click Team > Apply Patch. Locate the patch file in the Workspace, select it and click Next. Both the patches are located in the ticket-monster2.7.0.Final/demo/patches directory. Select the admin_layer_functional.patch and admin_layer_graphics.patch files to apply the functional and stylistic changes, then click Next. From the menu, select to apply the patches on the 'ticket-monster' project in the workspace and click Finish to apply the patches.