cancel
Showing results for 
Search instead for 
Did you mean: 

Message ERROR RUNNING SERVLET without ability to capture query FatalError

Former Member
0 Kudos

Hi all,

I have an irpt page with this SERVLET definition:


	<SERVLET NAME="Illuminator">
		<PARAM NAME="QueryTemplate" VALUE="APEX/Queries/Security/plantsAuthorizedForUserQuery"/>
		<PARAM NAME="StyleSheet" VALUE="/XMII/CM/APEX/xsl/navBar.xsl"/>
		<PARAM NAME="Content-Type" VALUE="text/xml"/>
		<PARAM NAME="Param.1" VALUE="{IllumLoginRoles}"/>
		<PARAM NAME="touch" VALUE="{touch}"/>
	</SERVLET>

The query fails with SQL Server error "com.microsoft.sqlserver.jdbc.SQLServerResource", but the screen shows *** ERROR RUNNING SERVLET : (Illuminator) *** even though I have xsl to handle the FatalError value in the XML from the query.

Do I have a bug in my XSL or does the servlet not run the XSL?

Thanks,

--Amy Smith

--Haworth

Accepted Solutions (0)

Answers (1)

Answers (1)

jcgood25
Active Contributor
0 Kudos

Try hosing up the path to your xsl - does it make a difference?

Try swapping out the stylesheet with "/XMII/Stylesheets/IllumRowsetTable.xsl" and see if it works.

Any relevant error in the NW logs?

Former Member
0 Kudos

Just edited this as I had a misunderstanding of something...

Thanks Jeremy,

This was more a question of application architecture and MII functionality than fixing this particular instance. I did run the query with Illuminator and the FatalError showed the message.

If a user calls the help desk and says they see that Illuminator message, I don't have a clue as to what caused it from that message alone. I have to log in to NetWeaver and look at the log. Not a big deal, but the FatalError can be quite helpful in pointing in a direction and the NW log is a pain to get into.

Thanks again,

--Amy Smith

--Haworth

Edited by: Amy Smith on Mar 24, 2010 10:43 AM

jcgood25
Active Contributor
0 Kudos

My first inclination for use cases where you have an IRPT SERVLET section that you want targeted support insight, was to add an InlineTransform that would intercept the FatalError and convert it to a Message like below. Notice the Origination token for your servlet call to identify the source of the error. Unfortunately 12.0 always throws the error like you see, but it works nicely in 12.1.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="Origination">Source Request</xsl:param>
	<xsl:template match="/">
		<Rowsets DateCreated="{Rowsets/@DateCreated}" Version="{Rowsets/@Version}" StartDate="{Rowsets/@StartDate}" EndDate="{Rowsets/@EndDate}">
			<xsl:choose>
				<xsl:when test="count(/Rowsets/FatalError) = '1'">
					<Messages>
						<Message>
							<xsl:value-of select="$Origination"/>
							<xsl:text>: </xsl:text>
							<xsl:value-of select="/Rowsets/FatalError"/>
						</Message>
					</Messages>
				</xsl:when> 
				<xsl:otherwise>
					<xsl:copy-of select="/Rowsets/Messages"/>
					<xsl:copy-of select="/Rowsets/Rowset"/>
				</xsl:otherwise> 
			</xsl:choose>
		</Rowsets>
	</xsl:template>
</xsl:stylesheet>

Former Member
0 Kudos

Thank you so much Jeremy,

--Amy Smith

--Haworth