Details
Description
Basically we have one EAR file, the structure is like below:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4">
<description>BNNP ear</description>
<display-name>bnnp-ear</display-name>
<module>
<web>
<web-uri>url-filter-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA</context-root>
</web>
</module>
<module>
<web>
<web-uri>bnnp-ui-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA/DESKTOP</context-root>
</web>
</module>
<module>
<web>
<web-uri>bnnp-mobile-ui-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA/MOBILE</context-root>
</web>
</module>
</application>
The url-filter application will decide where to redirect the incoming http request based on the user-agent http header. If it is from a handheld device, it will redirect to /BNNP-QA/MOBILE, otherwise to /BNNP-QA/DESKTOP. Of these, only the desktop application is using the ICEFaces framework. Now the problem is that for some reason, when the iced2d.js javascript posts the request to the ICEFaces block servlet when the page is loaded, it removes the "/" between BNNP-QA and DESKTOP, so that the context root becomes /BNNP-QADESKTOP which is obviously wrong and subsequently causes a "Network Connection Interrupted" every 3 minutes.
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4">
<description>BNNP ear</description>
<display-name>bnnp-ear</display-name>
<module>
<web>
<web-uri>url-filter-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA</context-root>
</web>
</module>
<module>
<web>
<web-uri>bnnp-ui-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA/DESKTOP</context-root>
</web>
</module>
<module>
<web>
<web-uri>bnnp-mobile-ui-1.0-SNAPSHOT.war</web-uri>
<context-root>/BNNP-QA/MOBILE</context-root>
</web>
</module>
</application>
The url-filter application will decide where to redirect the incoming http request based on the user-agent http header. If it is from a handheld device, it will redirect to /BNNP-QA/MOBILE, otherwise to /BNNP-QA/DESKTOP. Of these, only the desktop application is using the ICEFaces framework. Now the problem is that for some reason, when the iced2d.js javascript posts the request to the ICEFaces block servlet when the page is loaded, it removes the "/" between BNNP-QA and DESKTOP, so that the context root becomes /BNNP-QADESKTOP which is obviously wrong and subsequently causes a "Network Connection Interrupted" every 3 minutes.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Field | Original Value | New Value |
---|---|---|
Workaround Description |
The workaround is to reduce 3 apps into two: merge the first two, like below: <?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd" version="1.4"> <description>BNNP ear</description> <display-name>bnnp-ear</display-name> <!?Move the filter into the second app, I guess ICEFaces does not support sub context redirect <module> <web> <web-uri>url-filter-1.0-SNAPSHOT.war</web-uri> <context-root>/BNNP-QA</context-root> </web> </module> ? <module> <web> <web-uri>bnnp-ui-1.0-SNAPSHOT.war</web-uri> <context-root>/BNNP-QA</context-root> </web> </module> <module> <web> <web-uri>bnnp-mobile-ui-1.0-SNAPSHOT.war</web-uri> <context-root>/BNNP-QA/MOBILE</context-root> </web> </module> </application> |
|
Workaround Exists | [Yes] |
Salesforce Case | [50070000007BSDQ] |
Salesforce Case | [50070000007BSDQ] | [50070000007BSDQ, 500700000081rXp] |
Assignee | Mircea Toma [ mircea.toma ] |
Fix Version/s | 1.8 [ 10161 ] |
Assignee Priority | P3 | |
Affects Version/s | 1.8 [ 10161 ] | |
Affects Version/s | 1.7.2 [ 10130 ] |
Assignee Priority | P3 | P2 |
Assignee | Mircea Toma [ mircea.toma ] | Deryk Sinotte [ deryk.sinotte ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Status | In Progress [ 3 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Assignee Priority | P2 |
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee | Deryk Sinotte [ deryk.sinotte ] |