Setting up xalan 2.7.0 instead of using the WebLogic built in xalan

Posted on 2006-06-22
Last Modified: 2013-12-10

I'm trying to get WebLogic 8.1 to use Xalan 2.7.0. Do anybody has experience setting this up? Thanks for your time.

Question by:owonseed
  • 3
  • 2
LVL 35

Expert Comment

ID: 16966572
You do not need any special set up, just put the xalan classes (the jar files) somewhere where weblogic (the applications/web applications) can find them. That's all you need to do and you are set up. Are you getting any specific problems?

Author Comment

ID: 16973300
I found this from BEA doc:
Warning: In version 8.1 of WebLogic Server, you can plug in only the following versions of
the Apache Xerces parser:
– Xerces 2.2.0
– Xerces 2.3.0
– Xerces 2.4.0
In addition, you can plug in only those versions of the Apache Xalan transformer that are
compatible with the preceding versions of the Apache Xerces parser.

Is Xalan 2.7 compatible with these version of Xerces? Other than adding the jar file to the classpath, should I put the jar file in the endorsed folder? I found from other forums that JDK 1.4 uses the Endorsed Standards Override Mechanism, but the server is using JDK1.3. I think this may be a problem if I need to use the endorse mechanism.

LVL 35

Accepted Solution

girionis earned 250 total points
ID: 16979767
I am not sure if it is compatible, but it should be, in fact it should be backwards compatible with several versions of Xerces. Try it and see what happens.

> Other than adding the jar file to the classpath, should I put the jar file in the endorsed folder?

Nope, just add it to the classpath it should do it. Be sure to add it *before* the weblogic built in Xalan entry.

> I think this may be a problem if I need to use the endorse mechanism.

It shouldn't be.

Author Comment

ID: 16988484
I've added the xalan classpath and output the xalan version when the transform is invoked. It show version Xalan 2.4.1, instead of the 2.7.0.

Below is the log file that shows xalan being added to the classpath. It seems to load before the BEA's build in JDK. Any idea what am I missing? Thanks a lot!

java.class.path = /inet/api/xalan2.7.0/serializer.jar:/inet/api/xalan2.7.0/xalan.jar:/inet/api/xalan2.7.0/xercesImpl.jar:/inet/api/xalan2.7.0/xml-apis.jar:/root/bea/jdk142_05/lib/tools.jar:/root/bea/weblogic81/server/lib/weblogic.jar
java.class.version = 48.0
java.endorsed.dirs = /usr/bea/jdk142_05/jre/lib/endorsed
java.ext.dirs = /usr/bea/jdk142_05/jre/lib/ext
java.home = /usr/bea/jdk142_05/jre = /var/tmp/
java.library.path = /usr/bea/jdk142_05/jre/lib/sparc/server:/usr/bea/jdk142_05/jre/lib/sparc:/usr/bea/jdk142_05/jre/../lib/sparc:/usr/bea/jdk142_05/jre/lib/sparc/client:/usr/bea/jdk142_05/jre/lib/sparc:/usr/bea/jdk142_05/jre/../lib/sparc:/root/bea/weblogic81/server/lib/solaris:/root/bea/weblogic81/server/lib/solaris/oci920_8:/usr/lib
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
java.naming.factory.url.pkgs = weblogic.jndi.factories:weblogic.corba.j2ee.naming.url
java.protocol.handler.pkgs = weblogic.utils|weblogic.utils| = Java(TM) 2 Runtime Environment, Standard Edition
java.runtime.version = 1.4.2_05-b04 = =/root/bea/weblogic81/server/lib/weblogic.policy = Java Platform API Specification
java.specification.vendor = Sun Microsystems Inc.
java.specification.version = 1.4
java.util.prefs.PreferencesFactory = java.util.prefs.FileSystemPreferencesFactory
java.vendor = Sun Microsystems Inc.
java.vendor.url =
java.vendor.url.bug =
java.version = 1.4.2_05 = mixed mode = Java HotSpot(TM) Server VM = Java Virtual Machine Specification
java.vm.specification.vendor = Sun Microsystems Inc.
java.vm.specification.version = 1.0
java.vm.vendor = Sun Microsystems Inc.
java.vm.version = 1.4.2_05-b04
javax.rmi.CORBA.PortableRemoteObjectClass = weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass = weblogic.iiop.UtilDelegateImpl
javax.xml.rpc.ServiceFactory = weblogic.webservice.core.rpc.ServiceFactoryImpl
javax.xml.soap.MessageFactory = weblogic.webservice.core.soap.MessageFactoryImpl = JMX RI
jmx.implementation.vendor = Sun Microsystems
jmx.implementation.version = 1.0 = Java Management Extensions
jmx.specification.vendor = Sun Microsystems
jmx.specification.version = 1.0 Final Release
org.omg.CORBA.ORBClass = weblogic.corba.orb.ORB
org.omg.CORBA.ORBSingletonClass = weblogic.corba.orb.ORB
org.xml.sax.driver = weblogic.apache.xerces.parsers.SAXParser
org.xml.sax.parser = weblogic.xml.jaxp.RegistryParser
os.arch = sparc = SunOS
os.version = 5.9
path.separator = : = 32
sun.boot.class.path = /usr/bea/jdk142_05/jre/lib/rt.jar:/usr/bea/jdk142_05/jre/lib/i18n.jar:/usr/bea/jdk142_05/jre/lib/sunrsasign.jar:/usr/bea/jdk142_05/jre/lib/jsse.jar:/usr/bea/jdk142_05/jre/lib/jce.jar:/usr/bea/jdk142_05/jre/lib/charsets.jar:/usr/bea/jdk142_05/jre/classes
sun.boot.library.path = /usr/bea/jdk142_05/jre/lib/sparc

Author Comment

ID: 17158303
I received confirmation from BEA support that WebLogic 8.1 SP4 does not support Xalan beyond v2.4, and Xalan 2.7 is not backward compatible with Xerces 2.4 and below. Getting Xalan 2.7 running on WebLogic is out of question.

I've switched the XSLT processor to Saxon 8.7b. It is working great and it is really fast comparing the Xalan.  

Adding the classpath does solved some jar files problem. However in this case WebLogic simply won't accept newer version of Xalan.

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Can't get intermediate Certificate to work in Tomcat 9 136
supermicro blade chassis server ipmi question 4 98
spring example errors 33 407
Problem to Eclipse 16 132
Configure Web Service (server application) I. Configure security for Web Services methods First, we need to protect Session bean which implements the service: 1. Open EJB deployment descriptor (ejb-jar.xml) in the EJB project that contains you…
Most of the developers using Tomcat find it easy to configure the datasource in Server.xml and use the JNDI name in the code to get the connection.  So the default connection pool using DBCP (or any other framework) is made available and the life go…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question