Testing JSP Changes In IBM WebSphere Without ReStarting The Service
Filed under: E1Tips, EnterpriseOne - General, EnterpriseOne - JAS (Java Application Server), JVM, Java, Java Application Server (JAS), enterpriseone, oracle, websphere
This is a follow-up to my previous post “Restricting The EnterpriseOne Evironment On The JAS Server”.
While coming up with my solution to how to restrict users to an environment when logging on to a JAS server that hosted a path code with multiple environments attached to it, I wanted to be able to test my changes “on-the-fly”. I didn’t want to restart the service every time.
So, that’s when I found the “temp” directory.
- This is the “production” directory:
C:\WebSphere\AppServer\profiles\default\installedApps\Node01Cell\JPD811_HTML.ear\webclient.war\share
- This is the “temp” directory:
C:\WebSphere\AppServer\profiles\default\temp\Node01\JPD811_84\JPD811_HTML\webclient.war\share
A file named “_html4env.class” will be placed in there when a user logs in. It is a compiled version of the “html4env.jsp” file. So, if you delete that file and make a change to the “html4env.jsp” file or the “_EnvRestriction.htm” file, when a user tries to login WebSphere will compile the “html4env.jsp” file and create a new “_html4env.class” file with your changes.
Tags: E1Tips, enterpriseone, EnterpriseOne - General, EnterpriseOne - JAS (Java Application Server), Java, Java Application Server (JAS), JVM, oracle, websphereRestricting The EnterpriseOne Evironment On The JAS Server
Filed under: E1Tips, EnterpriseOne - JAS (Java Application Server), JVM, Java, Java Application Server (JAS), Tools Release, enterpriseone, oracle, websphere
The organization has a requirement to have a user only login to a certain environment from a certain JAS server instance.
With a basic install of EnterpriseOne, this would be very easy. However, the 2 environments that are required to be separated are build on top of the same pathcode. Within the JAS settings there is a "Path Codes" parameter that allows you to specify which Path Code will be allowed to be accessed from that particular HTML Server instance.
As you can see from the image, there is also a setting for the "Default Environment". However, there is not a setting to specify which environments are allowed to be accessed.
So, I did a little JSP hacking and came up with a way to restrict the EnterpriseOne environments that can be accessed from a particular HTML Server instance on JAS:
The solution involves creating a file that gets "included" into another.
The first file is the one that we created. We called it "_EnvRestriction.htm":
<% String redirectTargetURL = "erp.mdu.com"; String mustHaveEnv = "JPDSS811"; if (!(environments.contains(mustHaveEnv))) { %> <tr> <td colspan="3" style="font-size:larger;"> <strong>YOU DO NOT HAVE ACCESS TO THIS ENVIRONMENT!</strong> <br /><br /> You will be redirected to <a href="http://<%=redirectTargetURL%>"><%=redirectTargetURL%></a> in <span style="color:red" id="redirectSpan">10</span> seconds. </td> </tr> <script type="text/javascript"> function redirect(url, msg) { var TARG_ID = "redirectSpan"; var e = document.getElementById(TARG_ID); var cTicks = parseInt(e.innerHTML); var timer = setInterval(function() { if( cTicks ) { e.innerHTML = --cTicks; } else { clearInterval(timer); document.body.innerHTML = msg; location = url; } }, 1000); } redirect("http://<%=redirectTargetURL%>","") </script> <style>input{display:none;}label{display:none;}</style> <% } %>
Next we edit the file "html4env.jsp" to include our new file (_EnvRestriction.htm). At about line 172, we include the following right before the <tr> tag:
Please Note: this may not be the best way to restrict environments but it is what we are using. Also, this solution has been successfully used for EnterpriseOne Tools Release 8.97.2.0 & 8.97.2.6. If you are using a Tools Release other than those listed you may need to make adjustments for this solution to work or it may not work at all.
Is there another way to restrict the environment that a user is able to login to when accessing a JAS server if there are multiple environments built on top of the same path code?
Tags: E1Tips, enterpriseone, EnterpriseOne - JAS (Java Application Server), Java, Java Application Server (JAS), JVM, oracle, Tools Release, websphereServer Management Will Not Start After Update
Filed under: EnterpriseOne - General, EnterpriseOne - JAS (Java Application Server), Oracle Server Manager, Server Manager, enterpriseone
We are updating our EnterpriseOne Tools Release to 8.98.2.2 and had an issue with updating the Server Manager Agent on our Windows web servers. After following the steps to do the update of the Server Manager Agent it would not restart. I was able to find a document (Doc ID 983043.1) on Oracle Support that fixed the issue.
To resolve this issue, Customers need to download the 8.98.2.2 (or newer) version of the Server Manager update component and proceed with the following steps:
Update your Server Manager console with the newer version of Server Manager.
Locate the “scfagent.jar” file in the following directory:
{jde_home}\targets\oc4j\j2ee\home\applications\ManagementConsole\ManagementConsole_WAR\scfagent
where {jde_home} is your Server Manager console install location.Copy this file to the following directory on the machine where your Windows Server Manager agent is running:
{jde_agent_home}\lib\_staging
where {jde_agent_home is the Server Manager agent install locationRename the “scfagent.jar” file that you have copied to “agentUpdate.jar”. If there is already a file with this name, it should be replaced with the new file you have copied.
Run the “startAgent.bat” command file twice from the {jde_agent_home}\bin directory. The first time will update the Server Manager agent JAR files with the newer version, but will likely fail to start the service. The second time should start the service successfully.
I hope that helps!
Tags: enterpriseone, enterpriseone, EnterpriseOne - General, EnterpriseOne - JAS (Java Application Server), jde, oracle, Oracle Server Manager, Server Manager, Server Manager, Tools Release, version, xeEnterpriseOne Javascript Error Causing Errors In Internet Explorer
Filed under: EnterpriseOne - JAS (Java Application Server), Firefox, Internet Explorer, Javascript, Tools Release, enterpriseone, typeahead, websphere
We recently went live with Employee Self-Service. In doing so, we no longer send employees their direct deposit pay stub. Over the last few days we were notified that some employees were unable to view the paycheck details.
We began troubleshooting the issue with looking at the usually culprits:
- Browser used (Firefox doesnt work with EnterpriseOne Tools Release 8.97)
- Browser security settings (EnterpriseOne & IE7)
- Browser add-ons/plug-ins/extensions
However, nothing seemed suspect.
So, I put on the Web Developer Hat (dont tell Charlie) and started troubleshooting. I found that there was a Javascript error in Internet Explorer. I tracked down the offending file an commented out the code.
The Javascript file that I changed was /js/JDEDTA.js.
The specific line that was causing the problem was line 344. I commented out the whole thing because who needs typeahead functionality in Employee Self-Service?
340: this.saveAutoCompleteData = function(){
341: //Hack to make typeahead work in IE
342: /*if(document.all){
343: var formToPost = document.forms[this.formName];
344: window.external.AutoCompleteSaveForm(formToPost);
345: }else if (!this.isSafari){
346: var formToPost = document.forms[this.formName];
347: if (formToPost)
348: {
349: var action = formToPost.action;
350: formToPost.action = "javascript:void(0)";
351: formToPost.submit();
352: formToPost.action = action;
353: }
354: }*/
355: }
EnterpriseOne Tools Release Upgrade From 8.96 to 8.97 Rough Outline
Filed under: EnterpriseOne - General, EnterpriseOne - Install/Upgrade, EnterpriseOne - JAS (Java Application Server), IBM i/System i/iSeries/AS400, Oracle Server Manager, enterpriseone, oracle, websphere
- IBM iSeries/AS400/System i
- Backup libraries and IFS directories
- Register Pristine Environment in Server Manager
- Create Server Manager Server Group for Pristine
- Upgrade Pristine
- Web Server
- General
- HTML landing page: update links and info
- Change DNS entries
- Copy the code used to restrict access to specified environment
- Copy images and code for custom backgrounds
- Modify the JAS.INI file to specify the correct logon logo
- Set web server to restart nightly and cleanup logs
- Verify that the server is being backed up and replicated to DR hot site
Simple E1 URLs
Filed under: Apache, EnterpriseOne - JAS (Java Application Server), enterpriseone, oracle, oracle application server, websphere
Jeff Stevenson has a very good post on his blog about simplifying how users access EnterpriseOne using Apache virtual hosts, DNS mappings, host aliases and redirects.
Make a URL that looks like this:
http://server.company.com:82/jde/owhtml
Look like this:
http://e1.company.com or http://e1
Thanks, Jeff!
Tags: Apache, e1, enterpriseone, enterpriseone, EnterpriseOne - JAS (Java Application Server), jde, oracle, oracle application server, websphereHandy eGen Tweak
Filed under: EnterpriseOne - JAS (Java Application Server), JVM, Java, eGen, enterpriseone
In order to shorten the time that it takes to run the eGen process, I modify a couple settings in the gen.bat file. They modify the memory that is used by the JVM.
- ms128m > ms512m
- mx512m > mx1024m
The full line in the gen.bat looks like the following:
- %JAVA_PGM% -Xss1m -ms512m -mx1536m -Ddefault_path=%INI_DIR% -classpath %GEN_CLASSPATH% com.jdedwards.runtime.generator.Generator %1
NOTE: This is on a workstation with 2GB RAM running Tools Release 8.97 and the settings are what I use. This is not a recommendation from Oracle.
Do you have any tweaks for the eGen process that you use?
Tags: eGen, eGen, enterpriseone, EnterpriseOne - JAS (Java Application Server), Java, jde, JVM, oracle, Tools ReleaseEgen Process JDBJ Gotcha
Filed under: EnterpriseOne - JAS (Java Application Server), IBM i/System i/iSeries/AS400, JDBJ, eGen, enterpriseone
When setting up a workstation to perform the eGen process, once in a while there is a step that I seem to forget. It has to do with two settings in the JDBJ.INI file that need to be changed from their default values and JDBJ driver files:
- [JDBj-SPEC DATA SOURCE] This whole stanza needs to be commented out. If you dont, the eGen application will here for the location to which you want to generate your serialized objects, which is defaulted to the local MSDE database.
- [JDBj-JDBC DRIVERS] The values in this stanza are commented out by default. You will need to uncomment the drivers that are appropriate to your installation. For me, that is:
- AS400=com.ibm.as400.access.AS400JDBCDriver
- SQLSERVER=com.microsoft.jdbc.sqlserver.SQLServerDriver
- JDBJ Driver Files The four files below need to be copied to the C:\e811\MISC directory.
- jt400.jar
- msbase.jar
- mssqlserver.jar
- msutil.jar
NOTE: This information is for Tools Release 8.97 and may be different for other versions.
Tags: as/400, eGen, eGen, enterpriseone, EnterpriseOne - JAS (Java Application Server), ibm, IBM i/System i/iSeries/AS400, JDBC, JDBJ, sql, Tools Release, version, versionsThe EnterpriseOne Session Timeout Two-Step…Ok, Three Step
Filed under: EnterpriseOne - Install/Upgrade, EnterpriseOne - JAS (Java Application Server), Microsoft, Oracle Server Manager, enterpriseone, oracle
We have several work areas that require a longer inactive timeout setting than the default 20 minutes (Payroll Time-entry, Fixed Asset Accounting, etc.).
Unfortunately, EnterpriseOnes architecture does not make the process of configuring a session timeout very easy. There are three separate separate settings that need to configured correctly. Depending on your architecture that could mean three separate machines using three separate platforms. Whatever your architecture looks like there are at least three.
- The Java Application Server (JAS). No matter what flavor of JAS you are running (IBM Websphere, Oracle Application Server, BEA, etc.) you will need to configure the applications user session timeout setting. The screenshots for IBM Websphere 6.0.2.13 are below:
- The EnterpriseOne HTML Server. This setting is in the JAS.INI under the [CACHE] stanza. The setting is in milliseconds (3600000 = 1 hour). If you are running the Oracle Server Manager for EnterpriseOne, you can find it in the Cache Configuration section under the Web Runtime configuration.
- The HTTP server. The instructions for both Microsoft IIS and IBM HTTP Server follows:
- Microsoft IIS:
- Display the properties of the website that is configured to host EnterpriseOne
- On the Website tab, modify the Connection Timeout setting. Please note that this value is in seconds, not milliseconds.
- IBM HTTP Server:
- Edit the Timeout setting in the HTTPD.CONF file. Please note that this value is in seconds, not milliseconds.
- Microsoft IIS:
NOTE: To avoid record locking Oracle specifies to configure the system so that the JAS server will timeout the users session. To do that both the EnterpriseOne HTML Server and the HTTP server need to be set to great times than the JAS server. For example:
- To configure a timeout value of 30 minutes:
- JAS Server: 30
- EnterpriseOne HTML Server: 3600000
- HTTP Server: 3600
EnterpriseOne Tools Release 8.97 & 8.98 Not Compatible With FireFox 3
Filed under: EnterpriseOne - Install/Upgrade, EnterpriseOne - JAS (Java Application Server), MetaLink, oracle
In doing some last minute testing with EnterpriseOne Tools Release 8.97.2.0, I found that the applications do not render in FireFox 3. The error that I received in the WAS log is:
VTFormRenderAdaptee: renderHTML4: failed to render: java.util.MissingResourceException: Can't find bundle for base name nls.CPResource, locale
This issue is documented under MetaLink BUG 8917620 & 8917611. The final disposition that is documented as:
Fixfox 3 does not work with e1 due to build id length
change in user agent string, and E1 fail to match it tofirefox pattern with shorter build date pattern.
The following is useragent string for
FF2: MOZILLA/5.0 (WINDOWS; U; WINDOWS NT 5.1; EN-US;
RV:1.8.1.17) GECKO/20080829 FIREFOX/2.0.0.17
FF3: MOZILLA/5.0 (WINDOWS; U; WINDOWS NT 5.2; EN-US;
RV:1.9.0.3) GECKO/2008092417 FIREFOX/3.0.3
Pattern in browsCap.ini for FF2
[*(Win*) Gecko/???????? Firefox/2.*]
Pattern in browsCap.ini for FF3
[*(Win*) Gecko/???????? Firefox/3.*]
With length of build id change from 8 digits to 10 digits
the matching does not work for firefox 3 and runtime fail
to render the E1 form. The solution is to change the match
patter to more generic format without length limitation of
build id by using single wildcard.
[*(Win*) Gecko/* Firefox/3.*]
The change shall be applied to all version of firefox start
from 3. And we may need to check the fix into 897, since
the customer may alread begin to use FF3 instead of FF2.


