Sunday, April 25, 2010

Oracle EBS Applications Manager log

I recently came across some strange things on a new Oracle e-Business suite environment release which was just installed as a clone from production on a new server. The issue was that if you wanted to look into the ICM files to check the status of an internal concurrent manager you would be presented a non descriptive error. The error stated “An error has occurred!” and no log would appear in the screen.

If you open the log via a forms session you would be presented with the correct log.

The issue is definitely related to the HTML screens only, so I decided to do a trace of it when the error appears so we would be able to get some more meaning besides the error message “An error has occurred!”. In Oracle Application Manager you can set the log level to dev. Via “Site Map”> “Applications Manager Log”. Here you can set the log level to dev.

After setting the log level to dev I reproduced the error and found the following stack:

[Thread-1046][10:11:44:986, 4/22/10] IN: getFileContentsForURL
[Thread-1046][10:11:44:986, 4/22/10] urlStr=http://INTERNAL.SERVERNAME.COM:11415/OA_CGI/FNDWRR.exe?temp_id=2080498240
[Thread-1046][10:11:44:986, 4/22/10] in getTmpDir(), dir:/opt/oracle/oont/apps/D301O/ora/iAS/Apache/Jserv/logs/iAS/Apache/Jserv/logs/oam/tmp
[Thread-1046][10:11:44:986, 4/22/10] LogHandler:BEGIN=22 Apr 2010 08:11:44 GMT
[Thread-1046][10:11:44:986, 4/22/10] urlStr=http://INTERNAL.SERVERNAME.COM:11415/OA_CGI/FNDWRR.exe?temp_id=2080498240
[Thread-1046][10:11:44:992, 4/22/10] INTERNAL.SERVERNAME.COM
at HTTPClient.HTTPConnection.getSocket(
at HTTPClient.HTTPConnection.sendRequest(
at HTTPClient.HTTPConnection.handleRequest(
at HTTPClient.HTTPConnection.setupRequest(
at HTTPClient.HTTPConnection.ExtensionMethod(
at HTTPClient.HttpURLConnection.connect(
at HTTPClient.HttpURLConnection.getInputStream(
at oracle.apps.fnd.oam.sdk.util.log.LogHandler.getFileContentsForURL(
at oracle.apps.fnd.oam.sdk.util.log.LogHandler.getFileContents(
at oracle.apps.fnd.oam.sdk.util.log.LogHandler.refreshLogFile(
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
at java.lang.reflect.Method.invoke(
at oracle.cabo.servlet.event.MethodEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.TableEventHandler.handleEvent(Unknown Source)
at oracle.cabo.servlet.event.BasePageFlowEngine.handleRequest(Unknown Source)
at oracle.apps.fnd.oam.servlet.ui.oamPageFlowEngine.handleRequest(
at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
at oracle.apps.fnd.oam.servlet.ui.OAMServlet.doGet(
at javax.servlet.http.HttpServlet.service(
at javax.servlet.http.HttpServlet.service(
at org.apache.jserv.JServConnection.processRequest(

What we notice here is a URL named http://INTERNAL.SERVERNAME.COM:11415/OA_CGI/FNDWRR.exe?temp_id=2080498240 and this happens to be the URL that will open if you try to get the page via a forms session. So what basicly happens is that java is trying to parse a URL into a document and for some reason the java code is unable to resolve the domain name where your browser is able to.

In our case it turned out that the resolution was to add the hostname/domainname to /etc/hosts and the issue was resolved.

No comments: