|
Hi Pete:
modify the config.xml to reflect the following
changes and also place xerces.jar in front of any other parser.
- Configure WebLogic to
use the same xerces.jar as Apache SOAP 2.2. To accomplish this, make the
following changes to config.xml file.
<Server
InstrumentStackTraceEnabled="true" ListenPort="7001"
Name="myserver"
NativeIOEnabled="true"
TransactionLogFilePrefix="config/mydomain/logs/"
XMLEntityCache="XMLCacheMBean"
XMLRegistry="Xerces JAXP">
<XMLRegistry
DocumentBuilderFactory="org.apache.xerces.jaxp.DocumentBuilderFactoryImpl"
Name="Xerces JAXP"
SAXParserFactory="org.apache.xerces.jaxp.SAXParserFactoryImpl"/>
XMLEntityCache entry sometimes gives problems, so
if there is some problem starting weblogic, remove this entry.
Virender Sandhu
----- Original Message -----
Sent: Tuesday, April 23, 2002 8:59
PM
Subject: weblogic 6.1 and Apache soap
2.2
I've seen
directions for swapping in Xerces 1.4 in Weblogic by putting it in the front
of the classpath and configuring JAXP. However, it appears that Weblogic
discourages this practice (see below). Has anyone ran into difficulties
doing this? Does anyone use SOAP 2.1 to work around this
issue?
Thanks.
Can I plug in a version of Apache's Xerces XML
parser that is different to the one that is built-in with WebLogic Serve 6.1
(Xerces 1.3.1)?
No. Each version of Apache's Xerces XML parser requires a
different version of the DOM interfaces and there can be only one copy of the
DOM interfaces in the WebLogic Server environment. Version 6.1 of WebLogic
Server includes the version of DOM needed for Xerces 1.3.1 because the
built-in parser of WebLogic Server 6.1 is based on Xerces 1.3.1. If you try to
plug in a different version, say 1.X of Xerces, you will get an error when you
parse XML documents because Xerces version 1.X is expecting the version 1.X of
the DOM interfaces. If you try to put version 1.X of the DOM interfaces in
front of weblogic.jar in the CLASSPATH environment
variable before you start WebLogic Server, you will cause WebLogic Server not
to work correctly because Xerces 1.3.1 is used internally and requires the
Xerces 1.3.1 version of the DOM interfaces.
The real cause of this problem is that Xerces ships new versions of
interfaces in each release. Unfortunately, this prevents mulitiple versions of
Xerces from co-existing in the same CLASSPATH environment.
The problem only affects Xerces or other parsers that support the non-final
features of DOM Level 2. It does not affect the Sun Project X or Crimson
parsers because those parsers support DOM Level 1 whose portion of the DOM
interfaces is the same in all
versions
|