voyent
Messages posted by: jeff_prideaux  XML
Profile for jeff_prideaux -> Messages posted by jeff_prideaux [15]
Author Message
I did learn that I can user Netbeans version 12.6 along with GlassFish AppServer 4.1.2 where GlassFish is using java8 and get Icefaces to show up during the JSF framework set-up although only icefaces 3.1 was added in and not all the way. I then was able to manually edit the POM file to get all the 3.3 versions of icefaces and also add in the JSF dependency for JSF version 2.1.19. Then after reloading POM file and rebuilding from dependencies, the Welcome_to_icefavces page works. I did also have JDK11 installed so I don;t jknow if that was necessary for Netbeans12.6 to run.

My only remaining question is what is the latest version of Tomcat that can be used with icefaces 3.3. I could not get tomcat10 to work.
We have an icefaces project currently using icefaces 1.8 (tomcat 6, myEclipse 9, java 7) that we would like to upgrade to more recent software components without yet taking the step to migrate all the ice tags over to ace tags - thus interested in icefaces 3.3 (the last version that still supports the old ice-tags).

We would also like to use Netbeans as the IDE for going forward.

Can anyone suggest the appropriate version of the following so that everything "goes together" to get the highest versions that still work together.

Netbeans
Tomcat
Java

We have tried Netbeans 12.6 with java17 and tomcat10 but it only seems to support a JSF framework of versions 2.3 and 1.2 and then icefaces does not show-up in the components tab of the JSF set-up. I'm hoping that a lower version of Netbeans may allow for easier set-up but don't know which would be the highest supported version.

P.S. we are working in linux.
I have an old icefaces 1.8.2 web project running in Tomcat6 using IDE MyEclipse 9.

Is it possible to use icefaces 1.8.2 with Tomcat8? I would also like to switch IDEs and use the latest version of Netbeans (8 at this time).

I've been trying to create a simple Web-project with Netbeans8 (JavaEE5) using JSF framework and am struggling getting it to get the default index.xhtml page to work. There does not appear to be a plugin for netbeans8 to use icefaces 1.8.2 and I have had no luck so far in manually defining a library with the icefaces 1.8.2 jars and getting Netbeans8 to recognize it so a default web-project can at least run the sample index.xhtml page.

Does anyone know if it is possible to run tomcat8 using JSF1.2 and icefaces 1.8.2 in particular?

I've looked into migrating up to icefaces3.3 in compatability mode but fear this will require way too much editing of hundreds of files. (the web-project is quite large) To use icefaces4 would require redeveloping the entire web-project and we don't have the human resources or budget to do that.
I need to support a legacy 1.8.2 icefaces project and would like to use the latest version of Netbeans. The problem is when I try to install the 1.8.2 icefaces plugin (from back in the Netbeans6.7 days) I get the error:

The plugin Editor Library is requested in version >= 1.28.0.8.2 (release version 1) but only 3.49.2.22.43 (of release version different from 1) was found.

My research indicates that the plugin itself is setting a condition on the program to install it that is not forward compatible for future versions of Netbeans. I'm not sure how to get around the problem.

I have not been successful porting the old icefaces 1.8.2 project to a more recent release of icefaces. Too many things to change. For now I just want to get a current release of an IDE to be able to load and run the old icefaces1.8.2 project as is. I currently have the legacy project running in an old version of MyEclipse but I have other problems with MyEclipse and want to port over to NetBeans.
I found and fixed some syntax problems in my managed bean XML configuration files. The app now comes up but with other problems. For example, I'm getting an error when browsing back to pages:

"Component ID XXX has already been found in the view"

In case I am mixing icefaces jar files inappropriately, I've listed all my jar files below. Many are not related to icefaces, but for those those that are related to icefaces, can you tell if any are there inappropriately for an application that was originally developed with icefaces 1.8.2 and then migrated to icefaces 3.3?

activation-1.1.jar
activation.jar
asm-3.1.jar
backport-util-concurrent.jar
barbecue-1.5-beta1.jar
commons-beanutils.jar
commons-collections.jar
commons-digester.jar
commons-discovery.jar
commons-el.jar
commons-fileupload-1.3.1.jar
commons-io-1.4.jar
commons-logging.jar
commons-math-2.0.jar
el-api-2.2.1-b03.jar
el-api.jar
el-ri.jar
encog-engine-2.5.0.jar
FastInfoset.jar
httpclient-4.3.4.jar
httpcore-4.3.2.jar
httpmime-4.3.4.jar
icefaces-ace.jar
icefaces-compat.jar
icefaces.jar
icepush.jar
iText-2.1.5.jar
jai_codec.jar
jai_core.jar
javaws.jar
javax.annotation.jar
javax.faces.jar
javax.servlet.jar
javax.servlet.jsp.jar
jaxb-api-2.1.jar
jaxb-api.jar
jaxb-impl-2.1.10.jar
jaxb-impl.jar
jaxb-xjc.jar
jaxb1-impl.jar
jcommon-1.0.16.jar
jdom.jar
jersey-core-1.0.3.1.jar
jersey-server-1.0.3.1.jar
jfreechart-1.0.13.jar
jhighlight-1.0.jar
jsr173_1.0_api.jar
jsr311-api-1.0.jar
jstl.jar
jxl.jar
krysalis-jCharts-1.0.0-alpha-1.jar
log4j-1.2.9.jar
neuroph-2.6.jar
pd4ml.jar
pd4ml_tl.jar
plugin.jar
poi-3.5-beta4-20081128.jar
poi-contrib-3.5-beta4-20081128.jar
poi-ooxml-3.5-beta4-20081128.jar
poi-scratchpad-3.5-beta4-20081128.jar
portlet2-api.jar
ss_css2.jar
stax-api-1.0-2.jar
uk.co.mmscomputing.device.twain.jar
webservices-api.jar
webservices-extra-api.jar
webservices-extra.jar
webservices-rt.jar
zip4j_1.3.1.jar
Thanks for the tips. I'll be trying that. I found yesterday that when I purposefully remove my managed-bean lines from my faces-config.xml file, the web-app comes up without errors (but of course I can't use the beans). My problem is something to do with managing my backing beans.
I have a big icefaces 1.8.1 app that I've been putting off (for years now) migrating to a newer icefaces version. I'm trying it now and am having problems.

The following is my Tomcat server error log involving

Nov 24, 2014 10:11:13 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:280)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4937)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! null
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:449)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:221)
... 9 more
Caused by: java.lang.NullPointerException
at com.sun.faces.config.DocumentOrderingWrapper.init(DocumentOrderingWrapper.java:572)
at com.sun.faces.config.DocumentOrderingWrapper.<init>(DocumentOrderingWrapper.java:157)
at com.sun.faces.config.ConfigManager.sortDocuments(ConfigManager.java:588)
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:358)
... 10 more

Nov 24, 2014 10:11:13 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Nov 24, 2014 10:11:14 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/dagger] startup failed due to previous errors

Can anyone tell what the likely suspects would be from the error messages?
I think I flound a solution.

Since my ultimate goal is to use the laterst version of all software components, I tried some experiments with using Tomcat 7.0.20 along with a test webappa using icefaces 1.8.2 and icefaces 2.0.2. I wa able to duplicate my prior problems with appending the ;jsessionid=xxx to the URL for the Tomcat 7.0.22/icefaces 1.8.2 combination. Although, I did not hae the problem when I used the Tomcat 7.0.20/icefaces 2.0.2 version.

It looks like things work the way I need them with the latest 2.0.2 icefaces implementation. Now I just need to port my code up to the 2.0 icefaces spec. I was planning on doing this anyway. I'll just move my timetable up.

What I suspect is that a security change that Tomcat made (in going to version 7 and also in adding version 6.0.33 and perhaps a 5.x.x version as well) changed something that made the existing logic in icefaces 1.8.2 (and earlier) problematic for the particular thing I was needing to do in part of my webapp. As it turns out, the new icefaces version 2.x has an implementaton that doesn't cause me the problem. So therefore, I just need to use the new icefaces version to be able to keep up with the newer Tomcat releases.

I'm happy now. Hopefully using the compatibility mode (so I can keep my exisitng <ice:../> tags will not be too painful.

Jeff Prideaux
I've been discussing this issue on a Tomcat forum
http://old.nabble.com/*.iface-jessionid%3Dxxx-gives-404-error-td32449101.html#a32449515

and they came to the conclusion that in the specific case of Request.getRequestURI() returning a path parameter, it is the icefaces implemtation of that method that is the issue. They called it an icefaces bug.

They recommended work-arounds of adding a Filter to redirect to a URL without the jsessionid or a perhaps configure the urlrewrite filter.

http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/guide.html

I'll have to look into those two possibilites to see if they can solve my problem.

I'm also interested in finding out if icefaces2.0 (in compatability mode) would work for me but I'm having difficulty getting an icefaces2.0 project to work. I see there is an Eclipse icefaces 2.0 tutorial on the icefaces website. Is there a MyEclipse tutorial yet for working with icefaces2.0?

Thanks for the tip on the redirect from an JSP. I'm assuming that you just put something like
<%
response.sendRedirect(request.getContextPath()+"/a.iface);
return;
%>
in the jsp page.
I'll test that out but I will need for the session ID from the JSP to be preserved in the iface page. I'll see if it is.

If that indeed works, I'll see if I can get a filter to redirect all ifaces pages with ";jsessionid=xxx" to go to a JSP (where the iface URI is passed as a parameter) that will then do the redirect. That way, I wouldn't need any source-code changes besides a filter and a JSP redirection page. I'lltry to test that out tomorrow.
My test-app war file is attached.
For example, test the following URLs
http://localhost:8080/test3/a.iface
http://localhost:8080/test3/a.iface;jsessionid=123

I found that with Tomcat 6.0.32, both URLs get served.
With Tomcat 6.0.33, only the URL without the ;jsessionid gets served.
When the jsessionid is included, I get a page not found error.

I also have problems with all the Tomcat 7 versions I have tested so far.
I determined that the iface page sucessfully comes up with the jsessionid appended for Tomcat 6.0.32 but not with Tomcat 6.0.33. Something changed in that that minor Tomcat release that prevents Tomcat from separating out the jsessionid from the iface page name. It thinks the jsessionid is part of the page name and then can't find the page. It seems like a bug to me with Tomcat 6.0.33. I've seen the same problem with Tomcat 7.0.10, 7.0.14, 7.0.16, 7.0.20, and 7.0.21. I haven't checked the other minor Tomcat releases.
I wanted to give some more details to reproduce the problem.

In MyEclispe 9.1, create new web project test1 (Java EE 5.0)
Add FSF capabilities (1.2)
Add IceFaces capabilites (1.8.2 (JSF 1.2))
Add IceFaces Facelets Capabilities (xhtml)
Add a test xhtml page to the WebRoot (a.xhtml with ICEfaces Facelets page template)

Have MyEclipse use the Integrated sandbox Tomcat 6.0 server.

Deploy webapp
Start integrated Tomcat server
Browse to http://localhost:8080/test1/a.iface
Browse to http://localhost:8080/test1/a.iface;jsessionid=123
Both pages should come up

Stop integrated server.
Install Tomcat 6 independent of MyEclispse
Stop the service.
Copy the Tomcat conf files from the MyEclipse sandbox conf directory (including server.xml) over to the just installed Tomcat conf directory.

Disable the integrated sandbox Tomcat server in Myeclipse and enable the external Tomcat 6 server in MyEclipse that you just installed.
Specified the Tomcat home directory in the MyEclipse page to enable the server.
Deploy the webapp through MyEclipse to the external Tomcat server.

At this point, in theory, the External Tomcat instance should be exactly the same as the internal sndbox Tomcat instance. Same configuration files, same content. Same major version.

Start the external Tomcat 6 server via MyEclispe
Browse to http://localhost:8080/test1/a.iface
(it will come up)
Browse to http://localhost:8080/test1/a.iface;jsessionid=123
you will get a page not found error

Why?

Note that you can tag on the ;jsessionid=123 to various other file types without a problem. For example, jsp and gif. Why does it not work for .iface?
I have what I hope is just a configuration problem.

In my MyEclispe development environment using the integrated sandbox of Tomcat 6, things work fine. With hosting company A things works fine. We are, though, migrating over to hosting company B and cannot get any icefaces pages that have a jsessionid tagged on to the URL to be found. I also can't get any of these pages to come up with a stand-alone Tomcat instance on my development server (It just works in my MyEclipse sandbox).

For example, http://mydomain.com/test.iface works but
http://mydomain.com/test.iface;jsessionid=12234433 gives a page not found. (real domain different).

Most of the time, I'm not programatically adding the jsessionid to the URL in links in the site, but there are a few places in the web-application where this was necessary.

Does anyone know of any general advice of how to get the URL with the jsessionid added to work? For example, is there something special needed in the Tomcat web.xml file?

I'm using

<servlet-mapping>
<servlet-name>Persistent Faces Servlet</servlet-name>
<url-pattern>*.iface</url-pattern>
</servlet-mapping>
this can be deleted
 
Profile for jeff_prideaux -> Messages posted by jeff_prideaux [15]
Go to:   
Powered by JForum 2.1.7ice © JForum Team