cancel
Showing results for 
Search instead for 
Did you mean: 

Deploying the jBoss Web Application on the SAP Web Application Server

Former Member
0 Kudos

Hello,

I try to deploy my simply test jBoss Web Application with EJB on the SAP Web Application Server (Server version 700).

This application was generated upon AndroMDA 3.2-SNAPSHOT, succesfuly deployed and run on the jBoss AS 4.0.1SP1.

Used technologies:

Struts 1.2.7

Spring 1.2.5 + EJB

Hibernate 3.0.5

Oracle 9.2.0.4.0 - backend

In the Deploy Tool on the tabbed page "Deployer" I have loaded the jBoss web application ear file.

After succesfully connection to the SAP I have deployed my ear file into the SAP Web Application Server. The deployment and starting processes have been ended succesfully.

But in the log file "server.0.log" I found:

<i>#1.5#0040F47190F7005E000002CD00000994000421BB540DCCDB#1162988359390#/System/Server#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.runtime.context.WebComponents#Guest#0#####SAPEngine_Application_Thread[impl:3]_11##0#0#Warning#1#com.sap.engine.services.servlets_jsp.server.runtime.context.WebComponents#Plain###Initialization of filter <ResponseOverrideFilter> failed.

The error is: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactorynull#

#1.5#0040F47190F7005E000002D300000994000421BB540F82F4#1162988359500#/System/Server#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.runtime.context.WebComponents#Guest#0#####SAPEngine_Application_Thread[impl:3]_11##0#0#Warning#1#com.sap.engine.services.servlets_jsp.server.runtime.context.WebComponents#Plain###Cannot load Servlet org.andromda.presentation.bpm4struts.ActionServlet

The error is: java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactorynull#

#1.5#0040F47190F7003A0000002000000994000421BB540F9D9D#1162988359500#/System/Server##com.sap.engine.services.servlets_jsp.server.container.WebContainer#######SAPEngine_System_Thread[impl:5]_30##0#0#Info#1#com.sap.engine.services.servlets_jsp.server.container.WebContainer#Plain###Start of application [sap.com/Sx Analyzer 2] finished successfully on Web Container.#

#1.5#0040F47190F7003A0000002100000994000421BB5410B330#1162988359578#/System/Server##com.sap.engine.services.deploy#######SAPEngine_System_Thread[impl:5]_30##0#0#Warning#1#com.sap.engine.services.deploy#Plain###

Warning occurred on server 14005750 during startApp sap.com/Sx Analyzer 2 : Initialization of filter [ResponseOverrideFilter] failed. Check the init() method of the filter. Error is: [java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory].#

#1.5#0040F47190F7003A0000002200000994000421BB5410B467#1162988359578#/System/Server##com.sap.engine.services.deploy#######SAPEngine_System_Thread[impl:5]_30##0#0#Warning#1#com.sap.engine.services.deploy#Plain###

Warning occurred on server 14005750 during startApp sap.com/Sx Analyzer 2 : Cannot load servlet [org.andromda.presentation.bpm4struts.ActionServlet]. Error is: [java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory].#

#1.5#0040F47190F7003A0000002300000994000421BB5410B573#1162988359578#/System/Server##com.sap.engine.services.deploy#######SAPEngine_System_Thread[impl:5]_30##0#0#Info#1#com.sap.engine.services.deploy#Plain###

Operation startApp over application sap.com/Sx Analyzer 2 finished successfully on server 14005750#

#1.5#0040F47190F7003A0000002400000994000421BB5410B65B#1162988359578#/System/Server##com.sap.engine.services.deploy#######SAPEngine_System_Thread[impl:5]_30##0#0#Info#1#com.sap.engine.services.deploy#Plain###

Operation startApp on application sap.com/Sx Analyzer 2 finished in whole cluster for 3907 ms.#</i>

Either the servlet nor the filter have been started because: <i>java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory.</i>

This above class is situated in commons-logging-1.0.4.jar which I have manualy added to the /WEB-INF/lib directory of the web application. It did not help !!!

What should I do to succesfully deploy my jBoss Web Application on the SAP Web Application Server ?

Any help is welcome.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

You should add commons-logging-1.0.4.jar in WEB-INF/lib directory in the .war file in .ear file and redeploy the application.

Did you do this?

There is another mechanism for adding jars to the WEB-INF/lib without redeploying the application - it is called Single File Update. Here is more information about it:

<a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/be/052d57d30170458487137358c080c2/frameset.htm">http://help.sap.com/saphelp_nw2004s/helpdata/en/be/052d57d30170458487137358c080c2/frameset.htm</a>

Best Regards,

Violeta

Former Member
0 Kudos

Hi Violeta,

Thanks for Your advice.

Your solution has resolved my problem. The application had to be redeployed.

Unfortunately I got the following errors after logging to the application (http://localhost:50100/sxAnalyzer2/index.jsp):<i>

#1.5#0040F47190F7005A0000065700000994000421BD801D3DE6#1162997688468#/System/Server#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Plain###Runtime error in compiling of the JSP file <F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/index.jsp> !

The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib [/taglib/fmt]: [

com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'logic' is not mapped to a namespace(:main:, row:127, col:1)(:main:, row=127, col=1) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'logic' is not mapped to a namespace(:main:, row:127, col:1)

].

Exception id: [0040F47190F7005A0000065600000994000421BD801D38CD]#

#1.5#0040F47190F7005A0000065A00000994000421BD801D4FB0#1162997688468#/System/Server/WebRequests#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Plain###Processing HTTP request to servlet [jsp] finished with error.

The error is: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: Internal error while parsing JSP page [F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/index.jsp].

Exception id: [0040F47190F7005A0000065900000994000421BD801D4C83]#

#1.5#0040F47190F7005A0000065D00000994000421BD801E10D7#1162997688531#/System/Server#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Plain###Runtime error in compiling of the JSP file <F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/error-page.jsp> !

The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib [/taglib/fmt]: [

com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'html' is not mapped to a namespace(:main:, row:131, col:1)(:main:, row=131, col=1) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'html' is not mapped to a namespace(:main:, row:131, col:1)

].

Exception id: [0040F47190F7005A0000065C00000994000421BD801E0D4F]#

#1.5#0040F47190F7005A0000066000000994000421BD801E2355#1162997688531#/System/Server/WebRequests#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Plain###Processing an HTTP request by the error page [/error-page.jsp?code=exception&exception=true] finished with errors. Probably the exception [com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: Internal error while parsing JSP page [F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/index.jsp].] thrown by the requested servlet [/sxAnalyzer2/error-page.jsp] cannot be processed.

The error is: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: Internal error while parsing JSP page [F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/error-page.jsp].

Exception id: [0040F47190F7005A0000065F00000994000421BD801E1FFE]#

#1.5#0040F47190F7005A0000066300000994000421BD80232F15#1162997688859#/System/Server#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.jsp.JSPParser#Plain###Runtime error in compiling of the JSP file <F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/error-page.jsp> !

The error is: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib [/taglib/fmt]: [

com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'html' is not mapped to a namespace(:main:, row:131, col:1)(:main:, row=131, col=1) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix 'html' is not mapped to a namespace(:main:, row:131, col:1)

].

Exception id: [0040F47190F7005A0000066200000994000421BD80232BA1]#

#1.5#0040F47190F7005A0000066600000994000421BD8023437F#1162997688859#/System/Server/WebRequests#sap.com/Sx Analyzer 2#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Guest#0#####SAPEngine_Application_Thread[impl:3]_10##0#0#Error#1#com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl#Plain###Cannot send an HTTP error response [500 Application error occurs during request processing.<br>&nbsp;&nbsp;Internal error while parsing JSP page [F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/index.jsp]. (details: com.sap.engine.services.servlets_jsp.server.jsp.exceptions.ParseException: TagLibValidator returns error(s) for taglib [/taglib/fmt]: [

com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix &\#39;logic&\#39; is not mapped to a namespace(:main:, row:127, col:1)(:main:, row=127, col=1) -&gt; com.sap.engine.lib.xml.parser.ParserException: XMLParser: Prefix &\#39;logic&\#39; is not mapped to a namespace(:main:, row:127, col:1)

].)].

The error is: com.sap.engine.services.servlets_jsp.server.exceptions.WebIOException: Internal error while parsing JSP page [F:/usr/sap/J2E/JC01/j2ee/cluster/server0/apps/sap.com/Sx Analyzer 2/servlet_jsp/sxAnalyzer2/root/error-page.jsp].

Exception id: [0040F47190F7005A0000066500000994000421BD80233F92]#</i>

It looks like problem with taglibs.

My <b>web.xml</b> (only section with taglibs):

<i> <taglib>

<taglib-uri>/taglib/c</taglib-uri>

<taglib-location>/WEB-INF/tld/c.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>/taglib/fmt</taglib-uri>

<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>/taglib/xml</taglib-uri>

<taglib-location>/WEB-INF/tld/x.tld</taglib-location>

</taglib>

<taglib>

<taglib-uri>/taglib/functions</taglib-uri>

<taglib-location>/WEB-INF/tld/fn.tld</taglib-location>

</taglib></i>

My <b>index.jsp</b>:

<i><%@ include file="/taglib-imports.jspf" %>

<logic:redirect action="/Login/Login"/>

</i>

My <b>taglib-imports.jspf</b>:

<i><%@ taglib uri="/taglib/c" prefix="c"%>

<%@ taglib uri="/taglib/fmt" prefix="fmt"%>

<%@ taglib uri="/taglib/xml" prefix="x"%>

<%@ taglib uri="/taglib/functions" prefix="fn"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>

<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>

<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>

<%@ taglib uri="http://www.andromda.org/tags-breadcrumbs" prefix="breadcrumbs" %>

<%@ taglib uri="http://www.andromda.org/tags-formatting" prefix="formatting" %>

<%@ taglib uri="http://www.andromda.org/tags-collections" prefix="collections" %></i>

In the directory /WEB-INF/tld are placed the tld files: c.tld, fmt.tld, fn.tld, x.tld.

In the directory /WEB-INF/lib are placed amongst others the jstl-1.1.1.jar, struts-1.2.7.jar,

andromda-breadcrumbs-taglib.jar, andromda-collections-taglib.jar, andromda-formatting-taglib.jar.

Could You (or anyone else) help me to solve this problem too ?

regards

Robert

Former Member
0 Kudos

Hi Robert,

most likely the problem is that the tag libraries you try to import are not found under /WEB-INF directory of your application.

I've downloaded struts 1.2.7 and opened struts.jar. There under /META-INF/tlds are placed the tag libraries of the struts framework. The URI of those TLDs is different that those you use.

Instead of

http://struts.apache.org/tags-logic

you should use

http://jakarta.apache.org/struts/tags-logic.

The problem with the other struts TLDs is the same. You could see the correct URI for the other TLDs if you open the TLDs themself - /WEB-INF/lib/struts.1.2.7.jar$META-INF/tlds/*.tld

Best regards,

Todor