[Webinar] Streamline your web hosting managementRegister Today

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2328
  • Last Modified:

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


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.

  • 3
  • 2
1 Solution
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?
owonseedAuthor Commented:
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.

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.
owonseedAuthor Commented:
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
java.io.tmpdir = /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|weblogic.net
java.runtime.name = Java(TM) 2 Runtime Environment, Standard Edition
java.runtime.version = 1.4.2_05-b04
java.security.policy = =/root/bea/weblogic81/server/lib/weblogic.policy
java.specification.name = 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 = http://java.sun.com/
java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
java.version = 1.4.2_05
java.vm.info = mixed mode
java.vm.name = Java HotSpot(TM) Server VM
java.vm.specification.name = 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.implementation.name = JMX RI
jmx.implementation.vendor = Sun Microsystems
jmx.implementation.version = 1.0
jmx.specification.name = 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
os.name = SunOS
os.version = 5.9
path.separator = :
sun.arch.data.model = 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
owonseedAuthor Commented:
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

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now