HTTP Error 500 Internal Server Error When Running rwservlet Command in Reports 11g

HTTP Error 500 Internal Server Error When Running rwservlet Command in Reports 11g

HTTP Error 500 Internal Server Error When Running rwservlet Command in Reports 11g

Titleimage

Posted by Patrick Hamou on 2017:09:12 15:30:02

APPLIES TO:

Oracle Reports Developer - Version 11.1.2.0.0 and later
Information in this document applies to any platform.
***Checked for relevance on 08-APR-2015***

SYMPTOMS

Reports Servlet is not working and the following error is displayed when running rwservlet command from a browser URL

Example

http://hostname:port/reports/rwservlet

HTTP Error 500 Internal server error

- Reports Servers are working fine when tested with rwclient command
- WLS_REPORTS managed server is up and running

 

The following trace information is recorded in the following log files as

WLS_REPORTS-diagnostic.log

[2012-05-15T14:08:44.499-04:00] [WLS_REPORTS] [NOTIFICATION] [DFW-40101] [oracle.dfw.incident] [tid: [STANDBY].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <WLS Kernel>] [ecid: 0000JTHg1bJESOWzLwVK8A1FgctP000004,0] An incident has been signalled with the incident facts: [problemKey=BEA-101020 [HTTP][java.lang.NullPointerException
] incidentSource=SYSTEM incidentTime=Tue May 15 14:08:44 EDT 2012 errorMessage=BEA-101020 executionContextId=null]
[2012-05-15T14:08:45.201-04:00] [WLS_REPORTS] [NOTIFICATION] [DFW-40104] [oracle.dfw.incident] [tid: [STANDBY].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <WLS Kernel>] [ecid: 0000JTHg1bJESOWzLwVK8A1FgctP000004,0] [errid: 1] [detailLoc: <DOMAIN_HOME>\servers\wls_reports\adr\diag\ofm\classicdomain\wls_reports\incident\incdir_1] [probKey: BEA-101020 [HTTP][java.lang.NullPointerException\r]] incident 1 created with problem key "BEA-101020 [HTTP][java.lang.NullPointerException]"

WLS_REPORTS.log

####<May 15, 2012 2:08:44 PM EDT> <Notice> <Diagnostics> <cimx4> <WLS_REPORTS> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1337105324499> <BEA-320068> <Watch 'UncheckedException' with severity 'Notice' on server 'WLS_REPORTS' has triggered at May 15, 2012 2:08:44 PM EDT. Notification details:
WatchRuleType: Log
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-101020') OR (MSGID = 'WL-101017') OR (MSGID = 'WL-000802') OR (MSGID = 'BEA-101020') OR (MSGID = 'BEA-101017') OR (MSGID = 'BEA-000802'))
WatchData: DATE = May 15, 2012 2:08:44 PM EDT SERVER = WLS_REPORTS MESSAGE = [ServletContext@848505793[app:reports module:/reports path:/reports spec-version:2.5 version:11.1.2]] Servlet failed with Exception
java.lang.NullPointerException
at oracle.reports.rwclient.RWClient.doPost(RWClient.java:526)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
SUBSYSTEM = HTTP USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-101020 MACHINE = cimx4 TXID = CONTEXTID = TIMESTAMP = 1337105324468
WatchAlarmType: AutomaticReset
WatchAlarmResetPeriod: 30000

 

CAUSE

This issue happens when rwservlet.properties file is corrupted. It is important to mention that this so far has been seen in a rare upgrade scenario.

The following is an example of a situation where you will see those errors.

ns3 tags are seen in DOMAIN_HOME\config\fmwconfig\servers\WLS_REPORTS\applications\reports_11.1.2\configuration\rwservlet.properties file causing Reports Servlet to fail.

Example

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:rwservlet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:demo="http://xmlns.oracle.com/demo/config" xmlns:ns3="http://xmlns.oracle.com/reports/rwservlet">
   <ns3:server>RptSvr_hostname_asinst_1</ns3:server>
   <ns3:singlesignon>no</ns3:singlesignon>
   <ns3:inprocess>no</ns3:inprocess>
   <ns3:reloadkeymap>no</ns3:reloadkeymap>
   <ns3:keymapfile>cgicmd.dat</ns3:keymapfile>
</ns3:rwservlet>

It is important to mention that any syntax error caused by manual modification in rwservlet,properties leads to the same Error 500 error. The following is an example of rwservlet.properties manual modification that leads to same error

Example

<--webcommandaccess>L2</webcommandaccess-->
Needs to be:
<!--webcommandaccess>L2</webcommandaccess-->

*** Notice the missing "!" sign

SOLUTION

Make sure rwservlet.properties file is correct. For the example shown in this support note the following will be the solution.

1- Backup rwservlet.properties

2- Bring down WLS_REPORTS managed server

3- Edit rwservlet.properties and change
FROM

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:rwservlet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:demo="http://xmlns.oracle.com/demo/config" xmlns:ns3="http://xmlns.oracle.com/reports/rwservlet">
   <ns3:server>RptSvr_hostname_asinst_1</ns3:server>
   <ns3:singlesignon>no</ns3:singlesignon>
   <ns3:inprocess>no</ns3:inprocess>
   <ns3:reloadkeymap>no</ns3:reloadkeymap>
   <ns3:keymapfile>cgicmd.dat</ns3:keymapfile>
</ns3:rwservlet>

TO

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rwservlet xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/reports/rwservlet">
   <server>RptSvr_hostname_asinst_1</server>
   <singlesignon>no</singlesignon>
   <inprocess>no</inprocess>
   <reloadkeymap>no</reloadkeymap>
   <keymapfile>cgicmd.dat</keymapfile>
</rwservlet>

4- Re-start WLS_REPORTS

5- Retest the URL

http://hostname:port/reports/rwservlet

 

Posted by Patrick Hamou on 2017:09:12 15:30:02

Return to Blog