Link to home
Start Free TrialLog in
Avatar of owonseed
owonseed

asked on

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

Hi,

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.

owon.seed
Avatar of girionis
girionis
Flag of Greece image

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?
Avatar of owonseed
owonseed

ASKER

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.

owon.seed.
ASKER CERTIFIED SOLUTION
Avatar of girionis
girionis
Flag of Greece image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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!

o.s
============
...
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
...
=======
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.